【发布时间】:2013-07-21 20:54:05
【问题描述】:
我想知道是否可以实现仅 Javascript 的 NAT 穿透应用程序。它应该能够在浏览器中运行。
我正在寻找一种允许 P2P 连接的解决方案。服务器也将在那里,但仅用于在对等点之间进行介绍以及交换 IP 地址和端口。
如果可能的话,是只有 UDP(已经读过 NAT 穿透在 UDP 中更容易)还是 TCP 连接也是可能的?
【问题讨论】:
标签: javascript browser p2p nat
我想知道是否可以实现仅 Javascript 的 NAT 穿透应用程序。它应该能够在浏览器中运行。
我正在寻找一种允许 P2P 连接的解决方案。服务器也将在那里,但仅用于在对等点之间进行介绍以及交换 IP 地址和端口。
如果可能的话,是只有 UDP(已经读过 NAT 穿透在 UDP 中更容易)还是 TCP 连接也是可能的?
【问题讨论】:
标签: javascript browser p2p nat
你可以。我为 npm (https://npmjs.org/package/stunsrv) 打包了一个 stun 服务器和客户端。我还没有真正记录客户端的事情,但它仍然存在。除此之外,还有一些其他仅客户端可用的软件包。
编辑: WebRTC 可能是您感兴趣的东西,也可以查看 https://github.com/webRTC。
【讨论】:
TCP 打孔是可能的,但这取决于两个因素,一是基于操作系统的 NAT 和 NAT 硬件。这两个也需要支持。根据下面的文章 UDP 打孔支持 82% 而 TCP 打孔只支持 64%。您也可以在本文中找到该技术.. 一切顺利。 http://www.brynosaurus.com/pub/net/p2pnat/
【讨论】: