我想让两台不同的计算机打开一个静态 html 页面,并且能够通过局域网上的 WebRTC 相互通信。在这种情况下,没有与外界的互联网连接。其中一台电脑可以手动输入另一台电脑的 IP 地址,并使用该硬编码的 IP 进行连接。 ICE服务器有必要吗?如果是这样,服务器本身是否需要访问外部世界的互联网?
在这种情况下,您不需要 ICE 服务器。一般来说,您通常有以下 ICE 候选人:
- 主机(由客户端通过绑定到其本地分配的 IP 地址和端口来生成)
- srflx(服务器反射候选是使用 STUN 生成的)
- 中继(中继候选是使用TURN生成的)
因此,如果没有 ICE 服务器,您将只有host生成的候选者对于您的情况来说已经足够了,因为两个用户都在同一个本地网络中。
尽管 WebRTC 支持点对点通信,但它仍然需要一个用于信令的服务器:支持媒体和网络元数据的交换以引导对等连接。
因此,这里的主要问题是,您需要以某种方式在端点之间交换“提议”和“答案”,以便各方都有足够的彼此信息。通常,一些信令协议+公共服务器用于此目的。
对于您的情况,您有 3 个选择:
- 在 2 个浏览器之间建立直接的 p2p WebSocket 连接。不确定是否可能。看起来浏览器只能连接到其他端点,而不能监听。
- 手动复制\过去“offer”和“answer”SDP,我认为这也不好
- 有一些第三台计算机安装了一些信令服务器,因此其他对等方将使用它来相互交换“报价”和“答案”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)