javascript - 成功信令后未建立 WebRTC 连接
问题描述
我正在使用 simple-peer js 库在浏览器中创建对等连接。我已经通过 socket.io 设置了正确的信号,大多数时候一切正常;握手成功,p2p连接建立。
但有时尽管正确握手,但 p2p 连接不会启动,也不会引发错误。这在 VPN 上一直发生,但有时在没有 VPN 的情况下也会发生。我现在使用默认的 google STUN 服务器,并且没有提供 TURN 服务器。
任何关于可能是什么原因的启示将不胜感激。
解决方案
问题是有时其中一个对等点“坐在”双重 NAT 或对称 NAT 后面,VPN 就是一个很好的例子。您只使用 STUN 服务器,STUN 无法解决双重 NAT 后面的客户端的内部<->外部 IP。您需要为此设置 TURN 服务器。您可以使用免费的 TURN进行测试,但这只是为了测试问题,而不是作为永久解决方案。对于永久解决方案,最好使用您自己的 TURN 服务器。
推荐阅读
- java - 使用 Java 8 Stream 将泛型数组列表转换为非泛型
- database - 如何仅在 Azure Cosmos DB 中的文档已创建而不是修改后触发 Azure 函数?
- c# - EF Core 在循环中更新实体和子实体 - 在第一次通过时保存提交整个列表的更改
- r - 编织到 pdf 或 word doc 时如何关闭舍入?
- sql-server - 了解分区表上的非聚集索引
- reactjs - 反应处理 api 参数未显示
- git - 如何克隆一个 git 存储库?
- javascript - 获取 M1 Mac 的真实架构,无论 Rosetta
- javascript - Safari 添加 ? 到页面链接
- javascript - chart.js 随机奇怪的问题