如何避免必须设置端口转发
How to avoid to have to set port forwarding
我正在 Java 编写允许发送文件的胖客户端。
因此,从具有 public IP(所谓的 pip1)的 LAN 1,具有本地 IP(lip1)的第一个胖客户端(fc1)通过 WAN 将文件发送到 LAN 2(pip2)上的第二个胖客户端(fc2)。
我在端口 8081 上使用协议 TCP/IP。因此只有当我端口转发 LAN1 路由器上的 lip1 的端口 8081 和 LAN2 路由器上的 lip2 的端口 8081 时它才有效...
太糟糕了:我想你已经明白我不擅长网络方面的东西了。 :s
你有什么建议?我用 java.net.ServerSocket
嗯,我想我对这个话题的研究还不够。 :s 我在这里发现了很多想法:
- 一切都是关于 NAT-T,使用 UPnP、ICE、PMP 或 PCP 等协议
- https://github.com/offbynull/portmapper
- Connecting P2P over NAT?
还有许多其他关键字为“P2P,JAVA,NAT”。感谢 Marquis of Lorme 让我走上正轨。
我正在 Java 编写允许发送文件的胖客户端。 因此,从具有 public IP(所谓的 pip1)的 LAN 1,具有本地 IP(lip1)的第一个胖客户端(fc1)通过 WAN 将文件发送到 LAN 2(pip2)上的第二个胖客户端(fc2)。 我在端口 8081 上使用协议 TCP/IP。因此只有当我端口转发 LAN1 路由器上的 lip1 的端口 8081 和 LAN2 路由器上的 lip2 的端口 8081 时它才有效...
太糟糕了:我想你已经明白我不擅长网络方面的东西了。 :s 你有什么建议?我用 java.net.ServerSocket
嗯,我想我对这个话题的研究还不够。 :s 我在这里发现了很多想法:
- 一切都是关于 NAT-T,使用 UPnP、ICE、PMP 或 PCP 等协议
- https://github.com/offbynull/portmapper
- Connecting P2P over NAT?
还有许多其他关键字为“P2P,JAVA,NAT”。感谢 Marquis of Lorme 让我走上正轨。