我正在编写一个在端口4900上运行的自定义p2p程序.在某些情况下,当人员在路由器后面时,无法从Internet访问此端口.
是否有自动方式从互联网访问端口.我不太确定其他p2p应用程序是如何工作的.
任何人都可以对此有所了解吗?
这是一个广泛的问题,我发现了很多关于这个主题的信息.
可能的技术
这些都没有完全实现的对等库,或者我没有找到这样的.
事实上,我对任何类型的游戏库都不感兴趣(我没有针对这些问题)
我考虑过的问题
GameKit is compatible only with other GameKit我想在尽可能多的设备之间进行有效通信,而无需使用移动数据(3G,HS*PA,LTE)或WIFI AP作为中间点.
而不是远距离连接人,真的就像PAN通过蓝牙.
因此,我需要具备哪些功能
我想要的功能
目前有什么我可以用于提到的功能吗?
我需要的是,我将打开一个UDP监听X端口(本地机器)的服务器,并且 machine(public IP)可以向UDP我发送数据包.我的机器没有public IP.基本上我需要stun.
我正在测试stuntman服务器/客户端项目.我在服务器(公共IP)中运行stuntman-server.在我的系统中运行客户端(本地IP).我要求为端口映射ip/9999port.
./stunclient --mode full --protocol udp --localport 9999 stun.server.ip
Run Code Online (Sandbox Code Playgroud)
Stun服务器返回IP和端口.我做了什么,然后,打开一个UDP在我的本地系统服务器(使用Java),并开始在监听9999端口和发送UDP的消息other machine (which has public IP),以mapped IP/port通过STUN服务器返回.但我无法收到任何数据.您可以假设我的服务器/客户端代码(用java编写)在本地网络中正常工作.
流:
My machine ->>>>>stun request for 9999 port and my ip ------> stun server
My machine <<<<<<<<<<<<<<<<<<mapped ip/port <<<<<<<<<<<<<<< stun server
My machine : Run JAVA udp server socket in 9999 port
My machine <<<<<<<<<<<<<<<<<<<UDP …Run Code Online (Sandbox Code Playgroud)