首页 文章

NAT后面的两台主机用于P2P文件传输的协议是什么?

提问于
浏览
0

我正在尝试构建一个使用Java在主机之间进行p2p文件传输的应用程序 . 它适用于具有公共IP的主机,但在我的家用计算机上测试时失败 .

然后我发现我家里的所有电脑都有相同的IP . 所以,我得出结论,我的ISP使用NAT重载 . 如果我的ISP这样做,很多其他ISP也可能做NAT . 我希望我的应用程序甚至可以在NAT后面工作 .

我做了一些研究,发现在这种情况下UDP可能更合适,因为UDP打孔比TCP打孔更好 . 这是真的吗?说实话,我更喜欢使用TCP,但如果UDP效果更好,那么我必须使用UDP . (我知道UDP不可靠 . 我需要在UDP之上构建一些rdt协议 . )或者我还有其他任何好的算法吗?

3 回答

  • 0

    您可以简单地使用UDT来实现此目的 . 它是一种在UDP之上编写的开源,高性能且经过良好测试的协议 . 基本上它的可靠UDP支持P2P连接,并专门针对高性能数据传输进行了优化 .

    实际UDT项目托管在以下位置,http://udt.sourceforge.net/

    可以在这里找到Java版本的UDT,http://sourceforge.net/projects/udt-java/

  • 0

    我建议在两个对等体之间使用服务器,即使服务器不是你的 - 谷歌驱动器或Dropbox可能?

  • 1

    您是否尝试过使用任何STUN方法?

相关问题