请帮忙!在隔离的LAN上,有没有什么方法可以简单地使用DHCP服务器分配的IP地址建立webRTC连接?我在学校里有一个孩子的教室,里面有针对学生无线上网的政策.我也有自己的网络应用程序,我可以在室内无线网络上托管,我想使用它,这样我就可以在我自己的浏览器中获得实时学生回复.一旦他们进入我的浏览器,我就可以将它们与localStorage一起缓存,并打开一个评估可能性的世界.
我知道我可以通过Node.js和Socket.io实现这一点 - 但我真的希望避免使用我有限的技能设置那种服务器.我是一名学习编程的科学老师,所以请随意"保持简单".谢谢!!
Alex,你是对的,如果所有的计算机都在同一个本地网络上,我可以避免使用STUN服务器.虽然我不得不咬紧牙关并在笔记本电脑上安装Node.js,但实际上并不复杂.然后我尝试了一大堆不起作用的"工作示例",直到我找到了这个和他的GitHub文件.
在Node中运行服务器脚本后,我在同一台计算机上的两个浏览器窗口之间有一个DataChannel连接,但在不同的计算机之间没有.我编辑.html文件指向我的本地服务器IP地址而不是' DataChannel'然后我可以连接多台计算机!然后是真正的测试 - 我可以在没有互联网连接的情况下使用它吗?我找到了使用Google的STUN服务器指定的行并将其更改为
var config = {"iceServers":[{"url":"stun:stun.l.google.com:19302"}]};
只是
var config = {"iceServers":[]};
Dou*_*son 13
iceServers列表:const pc = new RTCPeerConnection();
Run Code Online (Sandbox Code Playgroud)
要么iceServers从RTCPeerConnection构造函数中省略该列表,要么使其成为空列表[]。
来自RTCPeerConnection文档:
冰服务器 | 可选的
一组
RTCIceServer对象,每个对象描述一个可能被 ICE 代理使用的服务器;这些通常是 STUN 和/或 TURN 服务器。如果没有指定,连接尝试将在没有可用的 STUN 或 TURN 服务器的情况下进行,这将连接限制为本地对等点。
该的WebRTC项目有一个涓流冰样品,你可以用它来看看如何在变化iceServers的影响采集到的候选地址。您要查看的具体示例是。
请注意,在我的网络上,2 个公共 IPv4 地址(以 98 开头)仅在我使用默认 ICE 服务器时出现。当我使用空的 ICE 服务器列表时,不再发现我的公共 IPv4 地址。另一方面,我的 IPv6 地址在两个测试中都相同,因为它们不受 NAT 的约束。
这是设置 iceServers 和 PeerConnection 的源代码的链接。
Alex,你是对的,如果所有计算机都在同一个本地网络上,我可以避免使用 STUN 服务器。虽然我不得不硬着头皮在我的笔记本电脑上安装 Node.js,但这确实并不复杂。然后我尝试了一大堆对我不起作用的“工作示例”,直到我找到了这个和他的 GitHub 文件。
在 Node 中运行服务器脚本后,我在同一台计算机上的两个浏览器窗口之间建立了 DataChannel 连接,但在不同计算机之间却没有。我编辑了 .html 文件以指向我的本地服务器 IP 地址而不是 localhost,然后我就可以连接多台计算机。然后是真正的测试 - 我可以在没有互联网连接的情况下使用它吗?我找到了指定使用 Google 的 STUN 服务器的行并将其更改为
var config = {"iceServers":[{"url":"stun:stun.l.google.com:19302"}]};
只是
var config = {"iceServers":[]};
| 归档时间: |
|
| 查看次数: |
8693 次 |
| 最近记录: |