Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UDP打孔(Java)_Java_Sockets_Udp_Stun_Hole Punching - Fatal编程技术网

UDP打孔(Java)

UDP打孔(Java),java,sockets,udp,stun,hole-punching,Java,Sockets,Udp,Stun,Hole Punching,几周来,我一直在尝试创建一个socket聊天/文件传输应用程序。我花了几个小时在互联网上搜索UDP打孔的代码,但是我没有找到任何可以使用的或者足够简单的代码 我正在尝试让路由器(NAT)后面的两个客户端互相连接。我已经成功地设置了一个共享两个客户端IP和端口的服务器,但我还没有真正启动连接。有我可以使用的源代码吗 我发现了几个STUN/ICE/TURN库,比如JStun,但是没有关于如何使用它们的文档。我需要一个STUN服务器来启动连接吗?我可以使用像numb.viagenie.ca或 如有任何

几周来,我一直在尝试创建一个socket聊天/文件传输应用程序。我花了几个小时在互联网上搜索UDP打孔的代码,但是我没有找到任何可以使用的或者足够简单的代码

我正在尝试让路由器(NAT)后面的两个客户端互相连接。我已经成功地设置了一个共享两个客户端IP和端口的服务器,但我还没有真正启动连接。有我可以使用的源代码吗

我发现了几个STUN/ICE/TURN库,比如JStun,但是没有关于如何使用它们的文档。我需要一个STUN服务器来启动连接吗?我可以使用像numb.viagenie.ca或

如有任何答复,将不胜感激。谢谢


EDIT:我已经有了更多的探索,我发现即使通过PHP,STUN也相当容易制作。我已经建立了自己的PHP stun,它只共享两个客户端的数据。最困难的部分是连接两个客户端,但这使用了一种叫做ICE的东西。感谢塞尔比在评论中发表的评论。这让我在冰上走上了正确的道路。我会把这个问题留长一点,以防有人提出其他问题。我将开始编写自己的ICE代码,或者尝试在网上查找。谢谢

在纯Java中可以找到UDP打孔的示例:

不再维护,但这里有一个STUN流程框架等:

我已经尝试让UDP打孔与Java客户端和PHP服务器一起工作,但还不能让它工作。 如果您有,您可以与我们分享,并回答以下问题:

您需要知道的一切都在这里: