我正在使用 simple-peer js 库在浏览器中创建对等连接。我已经通过 socket.io 设置了正确的信号,大多数时候一切正常;握手成功,p2p连接建立。
但有时尽管正确握手,但 p2p 连接不会启动,也不会引发错误。这在 VPN 上一直发生,但有时在没有 VPN 的情况下也会发生。我现在使用默认的 google STUN 服务器,并且没有提供 TURN 服务器。
任何关于可能是什么原因的启示将不胜感激。
我正在使用 simple-peer js 库在浏览器中创建对等连接。我已经通过 socket.io 设置了正确的信号,大多数时候一切正常;握手成功,p2p连接建立。
但有时尽管正确握手,但 p2p 连接不会启动,也不会引发错误。这在 VPN 上一直发生,但有时在没有 VPN 的情况下也会发生。我现在使用默认的 google STUN 服务器,并且没有提供 TURN 服务器。
任何关于可能是什么原因的启示将不胜感激。
问题是有时其中一个对等点“坐在”双重 NAT 或对称 NAT 后面,VPN 就是一个很好的例子。您只使用 STUN 服务器,STUN 无法解决双重 NAT 后面的客户端的内部<->外部 IP。您需要为此设置 TURN 服务器。您可以使用免费的 TURN进行测试,但这只是为了测试问题,而不是作为永久解决方案。对于永久解决方案,最好使用您自己的 TURN 服务器。