【问题标题】:Is Javascript only NAT punch through possible?是否可以仅使用 Javascript 进行 NAT 穿透?
【发布时间】:2013-07-21 20:54:05
【问题描述】:

我想知道是否可以实现仅 Javascript 的 NAT 穿透应用程序。它应该能够在浏览器中运行。

我正在寻找一种允许 P2P 连接的解决方案。服务器也将在那里,但仅用于在对等点之间进行介绍以及交换 IP 地址和端口。

如果可能的话,是只有 UDP(已经读过 NAT 穿透在 UDP 中更容易)还是 TCP 连接也是可能的?

【问题讨论】:

    标签: javascript browser p2p nat


    【解决方案1】:

    你可以。我为 npm (https://npmjs.org/package/stunsrv) 打包了一个 stun 服务器和客户端。我还没有真正记录客户端的事情,但它仍然存在。除此之外,还有一些其他仅客户端可用的软件包。

    编辑: WebRTC 可能是您感兴趣的东西,也可以查看 https://github.com/webRTC

    【讨论】:

    • 您好,谢谢您的回答。有没有你知道的 TCP 解决方案?
    • 不确定,但如果这就是你想要的 TCP 的全部内容,那么以编程方式进行三次握手并不可怕。
    • 不仅仅是三次握手。我想用它来传输文件。不只是语音或视频,UPD 很好,并且允许少量的数据包丢失。如果 TCP 非常困难,那么可以选择在开始传输之前交换描述文件。
    【解决方案2】:

    TCP 打孔是可能的,但这取决于两个因素,一是基于操作系统的 NAT 和 NAT 硬件。这两个也需要支持。根据下面的文章 UDP 打孔支持 82% 而 TCP 打孔只支持 64%。您也可以在本文中找到该技术.. 一切顺利。 http://www.brynosaurus.com/pub/net/p2pnat/

    【讨论】:

    • 很棒的文章。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多