无法连接到互联网上的服务器

问题描述:

我有一个非常简单的客户端服务器代码编写的Java(服务器侦听某些端口和客户端连接到服务器端口,并建立连接后,客户端IP显示在服务器控制台上)。这个程序在Intranet上工作得很好,但是如果客户端和服务器在互联网上,我的服务器无法检测到它。我的客户端和服务器上没有安装防火墙,端口转发在服务器上完成(我可以从canyouseeme.org )。无法连接到互联网上的服务器

服务器直接连接与其他三台电脑调制解调器沿(它们也直接连接到调制解调器)

请帮我弄清楚,为什么我不能够提前检测到的internet.Thanks客户端。

Client code: 
------------ 

String remoteIP = //remote ip 
int port =1888; 

try{ 
new Socket(remoteIp,port); 
}catch(Exception e){ 
System.out.println(e.message()); 
} 

Server code 
----------- 
ServerSocket serversocket = new ServerSocket(port); 
Socket socket = serverSocket.accept(); 
displayIp(socket); 
+2

请发布这个'非常简单的客户端服务器代码'的代码。 – 2011-03-31 18:09:28

+0

添加了代码。 – hnm 2011-03-31 18:30:12

+0

你的意思是'如果客户端和服务器在互联网上,我的服务器无法检测到'?客户端能够首先连接到服务器吗? – 2011-03-31 18:43:00

检查客户端上的代理配置,请参阅http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

你使用哪种协议?

+0

我使用TCP协议(使用java套接字)。但事情是我的系统上只有服务器没有检测到客户端。如果我在我的办公系统(它直接连接到调制解调器,它能够检测客户端)上运行服务器,所以它在我的服务器上肯定有问题。但是我可以在canyouseeme.org上看到我的服务器 – hnm 2011-03-31 18:33:26

+0

尝试将您的代码更改为端口80,同时在具有连接了服务器的NAT的WAN路由器上。在端口80上从canyouseeme.org再次检查服务器。然后在客户端打开浏览器并转到例如http://www.google.com,然后转到http:// 。这*必须*工作。 – PeterMmm 2011-03-31 20:08:32