【发布时间】:2011-01-21 11:57:07
【问题描述】:
在Java中,我们可以用new ServerSocket(port)打开一个ServerSocket,然后用new *Socket(server_adress",port)*连接它;
但是如何连接,如果服务器在不同的网络中,而两个网络都在 NAT 之后。
我知道必须有一个解决方案。 Skype 和其他应用程序已经找到它。
有什么想法吗?
问候,安德鲁。
【问题讨论】:
-
如果服务器和客户端位于不同的子网中,您是否真的有问题,或者您只是假设有问题?向我们展示您尝试过的一些代码,也许我们可以帮助您解决您遇到的任何问题?
-
服务器和客户端是否在不同的子网上都没有关系。你遇到了什么问题?
-
这与其说是一个 java 问题,不如说是一个网络问题。您应该提供有关网络拓扑的更多详细信息(路由器、NAT、IP 地址……)
-
有两种解决方案,1. 在路由器中设置端口转发。 2. 像 Skype 一样进行打孔(预计将在一年中的大部分时间以一般方式实现这一点)。
标签: java web-services sockets subnet