WebRTC在本地网络上?

The*_*ler 15 webrtc

我一直在阅读有关WebRTC的内容,看起来非常有前景.我想制作一个简单的局域网游戏,自动连接同一网络上的人.虽然我可以找到人们询问类似的东西,并且答案告诉他们这是可能的,但我找不到任何关于如何做到的明确教程.

然而,我对WebRTC和Web编程一般都很陌生.所以也许我只是不知道要搜索什么.

那么,如何在本地网络上自动连接使用WebRTC的人,而无需任何人运行单独的服务器或连接到互联网?他们应该能够在他们的计算机上打开一个html文件,并连接到在同一网络上执行该操作的其他人,即使没有互联网.

谢谢!

mat*_*ttm 9

至少有一台机器需要是服务器,因为它需要打开一个可以侦听的端口.这是所有联系的生活现实; 当一台机器打开一个连接时,另一端需要另一台响应的机器.没有这个,就不可能建立联系.

如果您愿意让一台或所有机器监听端口,那么您可以在LAN上设置WebRTC.在这种情况下,您不需要STUN或TURN,因为没有NAT遍历.

  • 我回答自己:在本地网络中,必须广播本地生成的ICE候选人,并使用addIceCandidate将其添加到所有其他主机中。很好的例子[这里](https://github.com/emannion/webrtc-audio-video.git) (2认同)

Ale*_*hov 6

如果没有某种信号机制,WebRTC 就无法工作。基本上,您的客户至少需要了解彼此的一些信息,而 WebRTC 中的这种“信息”是 SDP 包(会话描述协议)。在他们交换 SDP 包后,WebRTC 引擎会尝试以最直接的方式连接客户端。

试试这篇文章:http : //www.html5rocks.com/en/tutorials/webrtc/basics/

它将让您基本了解 WebRTC 的工作原理,并且您将自己回答您的问题。关键词:信令、STUN 和 TURN。

祝你好运!


fyc*_*cth 6

在两个对等点建立直接连接之前,他们都应该交换一组数据(网络参数、媒体配置、可用协议等),以便他们弄清楚如何相互连接。他们可以使用 SDP(会话描述协议)来完成这个过程。

因此,您需要网络中的每个潜在对等点都可以访问的信令服务器。当客户端想要连接到“WebRTC 网络”时,它应该首先连接到信令服务器。然后,信令服务器将通知其他对等点我们有一个新的,所有对等点将通过信令服务器与 SDP 交换数据。之后,对等方将能够与新对等方建立直接连接。当建立直接连接时,所有数据直接在对等点之间传输。