2012-08-02 154 views
1

使用java中的TCP/IP套接字尝试创建客户端服务器应用程序。该程序在本地运行并且通过局域网运行良好,但是当我使用互联网IP地址时,客户端连接被拒绝。Java TCP/IP套接字互联网连接问题

我使用this网站来获取我的IP地址,并添加了一个防火墙条目以使用(端口4445)来解除阻塞端口im。

我几乎可以肯定问题在于某种阻止端口的安全措施。我在同一台PC上运行客户端和服务器,但使用前面提到的网站的IP地址有什么关系?

如果我能得到一个测试端口的方法列表实际上是打开的,或者是为了让我的程序运行而尝试的列表,那将非常棒!

+0

_“请问我在同一台PC上运行客户端和服务器,但使用前面提到的网站的IP地址?”几乎可以肯定。 – 2012-08-02 02:04:45

+0

所以这意味着为了正确地测试我的软件,我需要在单独的网络上运行客户端? – 2012-08-02 02:37:26

回答

2

该网站很可能会给你的电脑连接到互联网的网关的IP地址,如果网关超出了你的控制范围(据我所知大多数情况下)没有办法使用该IP地址来测试您的程序。下面是一些建议:

  1. 尝试http://aws.amazon.com,一旦注册,您有一年的免费访问微服务器(可公开通过DNS访问/弹性IP)
  2. 如果你的电脑有一个公共IP地址,你不需要该网站找出它是什么。只需检查您的网络适配器控制面板。
0

服务器在哪里?如果您的服务器位于某些商业主机中,则可能是您使用的端口被阻止。此外,如果您在本地网络中使用路由器或路由器的调制解调器,则应检查nat表。

+0

服务器正在使用我正在使用的当前PC上运行,因为客户端程序 – 2012-08-02 03:37:14

+0

我还使用了在线服务,该服务检查是否可以看到通过端口运行的服务。它返回正面,所以它必须是客户端从套接字读取的问题,或者服务器写入套接字 – 2012-08-02 03:39:50

+0

无论如何尝试检查路由器中的NAT表 – 2012-08-02 08:36:48