我正在使用简单对等js库在浏览器中创建对等连接。我已经通过socket.io设置了正确的信号,大多数时候一切正常。握手成功并建立了p2p连接。
但是有时尽管进行了适当的握手,但p2p连接不会启动,不会引发任何错误。这在VPN上始终发生,但有时在没有VPN的情况下也可能发生。我现在正在使用默认的Google STUN服务器,并且没有提供TURN服务器。
任何关于可能原因的启示都会受到赞赏。
问题是,有时对等节点之一“坐在”双重NAT或对称NAT的后面,VPN是一个很好的例子。您仅使用STUN服务器,STUN无法解决加倍NAT之后的客户端的内部外部IP。您需要为此设置TURN服务器。您可以使用free TURN进行测试,但这仅是为了测试问题,而不是作为永久解决方案。对于永久解决方案,最好使用您自己的TURN服务器。