【问题标题】:How can i broadcast UDP packet to the browser如何将 UDP 数据包广播到浏览器
【发布时间】:2015-01-15 13:06:47
【问题描述】:

我是初学者。 我尝试将数据广播到本地的浏览器(通过发送相同的路由器...... 255)。

我应该为本地级浏览器实现实时流媒体服务。 但是当客户端浏览器增加时会出现高流量。

要广播数据,似乎需要UDP协议。 但是基于 TCP 的网络浏览器。 所以我研究了基于UDP的webRTC。 但我真的不知道如何使用它。 是否可以将数据广播到本地区域的 chrome 等网络浏览器? 如果没有,为什么无法实施?只是为了 DDOS 的危害?我该如何解决这个高流量问题?

( 当每个客户端响应来自服务器 (TCP) 的每个数据或服务器向每个客户端发送相同的数据时,它确实会发生高流量,相当于客户端的数量(不是广播)。 我只想实现服务器只向本地发送一个广播数据报包,本地级别的每个客户端从服务器接收相同的数据但不响应。 )

【问题讨论】:

  • 您可以通过 WebRTC 中的数据通道来执行此操作。但是,在您的服务器端,创建一个可以转发您的数据的对等连接(使用众多网关之一或本机 API)。
  • 我认为数据通道也是点对点连接。这可以让一个数据包发送到本地的每个客户端吗?
  • WebRTC 提供的任何东西都无法做到这一点,您必须为每个对等点建立大量连接。如果没有与每个客户端的单独连接,您就不能像那样广播 UDP。

标签: udp webrtc broadcast


【解决方案1】:
  • 从 Web 应用程序(不是经过修改的 Web 浏览器本身),您不能创建或操作原始 (UDP/TCP) 套接字。沙盒和其他机制不允许您这样做。
  • 使用 webRTC,您需要握手并使用 ICE。 => 你不能推送给只知道他的 IP/端口的对等点 => 你必须让接收方接受并确认转移
  • 您可能会对 WebSockets 进行更多更改,但这也需要额外的机制,而且并非所有各方都能够支持 Web 套接字(或接受从 http 到 WS 的升级)。

出于说明目的,您可以查看 Jess 在基于 Web 的 bit torrent 上的工作。他有完全相同的问题。 https://github.com/feross/webtorrent

【讨论】:

  • 啊.. webtorrent 对实时视频流服务有用吗?
  • 可能是,但我怀疑它会用于实时媒体,更多的是用于预先录制的媒体流。我只是想指出,即使他适用于不同的问题,杰罗斯也有同样的潜在问题。他还需要原始套接字来支持比特洪流,而这在浏览器中是不可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 2010-12-18
  • 1970-01-01
相关资源
最近更新 更多