使用UDP(数据报)在Java中实现TCP

时间:2011-06-30 10:02:41

标签: java network-programming udp network-protocols

对于文件共享应用程序,我想使用TCP / IP套接字。但这不起作用,因为两个客户端都在NAT之后。因此我必须使用UDP和打孔方法。

由于UDP不可靠,我必须实现类似TCP的协议。我不需要溪流。基于消息的协议就可以了。某处有免费的Java库吗?如果没有,是否有一个抽象的教程,如何实现这样的协议?

3 个答案:

答案 0 :(得分:1)

如果您搜索基于UDP的面向消息的协议,我会考虑TeleHash。还有Java库可用。

如果您依赖大量的二进制数据进行传输,这可能是错误的选择,但是基于流的协议可能是更好的选择。

答案 1 :(得分:1)

您可以实施TCP打孔,这将允许两个对等方在防火墙后面进行通信。 首先通过这个链接
http://www.brynosaurus.com/pub/net/p2pnat/

然后更新问题,如果需要进一步的帮助。但TCP打孔问题是它可以在市场上60%的路由器成功,而UDP打孔成功80-90%。

请查看此链接.http://stackoverflow.com/questions/917385/nat-traversal-with-java

答案 2 :(得分:0)

相关问题