不同子网上两台主机之间的Java套接字

不同子网上两台主机之间的Java套接字,java,web-services,sockets,subnet,Java,Web Services,Sockets,Subnet,在Java中,我们可以使用新的ServerSocket(端口)打开ServerSocket,并使用新的*Socket(服务器地址,端口)*; 但若服务器位于不同的网络中,而两个网络都位于NAT后面,那个么如何连接呢 我知道一定有解决方案,Skype和其他应用程序已经找到了 有什么想法吗 尊敬的Andrew。有关Skype使用的所有方法的列表,请参阅 一旦你选择了一个方法,就可以使用谷歌搜索该方法的Java实现(或者按照该wiki页面的链接,例如)如果服务器和客户端位于不同的子网中,您是否真的遇到

在Java中,我们可以使用新的ServerSocket(端口)打开ServerSocket,并使用新的*Socket(服务器地址,端口)*;
但若服务器位于不同的网络中,而两个网络都位于NAT后面,那个么如何连接呢

我知道一定有解决方案,Skype和其他应用程序已经找到了

有什么想法吗


尊敬的Andrew。

有关Skype使用的所有方法的列表,请参阅


一旦你选择了一个方法,就可以使用谷歌搜索该方法的Java实现(或者按照该wiki页面的链接,例如)

如果服务器和客户端位于不同的子网中,您是否真的遇到问题?或者您只是假设存在问题?向我们展示一些您尝试过的代码,也许我们可以帮助您解决您遇到的任何问题?服务器和客户端是否位于不同的子网并不重要。您遇到的问题是什么?这是与其说是一个java问题,不如说是一个网络问题。你应该更详细地介绍你的网络拓扑结构(路由器、NAT、IP地址等)。有两种解决方案,1.在路由器中设置端口转发。2.像Skype一样打孔(预计今年大部分时间会以通用方式实现这一点)。