本地网络上的 WebRTC?

WebRTC on local network?

我一直在阅读有关 WebRTC 的文章,它看起来很有前途。我想制作一个简单的局域网游戏,自动连接同一网络上的人们。虽然我可以找到有人问类似的问题,并且回答告诉他们这是可能的,但我找不到任何关于如何完成的明确教程。

不过,我对 WebRTC 和一般的 Web 编程还很陌生。所以也许我只是不知道要搜索什么。

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

谢谢!

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

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

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

祝你好运!

至少一台机器需要作为服务器,因为它需要打开一个端口来监听。这是千真万确的事实;当一台机器打开连接时,另一端需要有另一台机器响应。没有这个,就永远无法建立联系。

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

WebRTC 不需要在 LAN 上进行 STUN 或 TURN。 WebRTC 端点可以使用其在 LAN 上的已知地址生成本地 ICE 候选者。这些通过信令进行交换,要么直接在 SDP 中,要么作为 ICE 候选者在 trickle ICE 中进行交换。无需联系 LAN 外部的 STUN 服务器即可设置对等连接。

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

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