2012-11-26 209 views
2

编辑:这个问题是由我的项目组中的其他人写的。它的措辞不是很好,或者信息丰富,所以如果你偶然发现了一些事故,请告诉我是否需要澄清。IP地址将不会连接到相同的IP地址

服务器通过消息向客户端发送IP地址。然后,我们的客户端读取消息并通过阅读来显示IP地址。我有它收集正确的数字,但回到发送的IP地址时不连接。任何想法为什么它不会连接到相同的地址?代码如下:

byte IPAddr[] = Arrays.copyOfRange(message, 3, 7); //and that is equal to "0.0.0.1" 

try {  
    InetAddress IP = InetAddress.getByAddress(IPAddr);  
    Socket clientSocket = new Socket(IP, returnPort);  
    System.out.println("Connected!");  
} 
+0

然而,当“本地主机”或127.0.0.1被输入到IP位置的客户端和服务器将连接clientSocket = new Socket(IP,returnPort) – Ryanman

回答

2

服务器有多个IP地址。为此,其提供给客户端的地址必须是其外部IP地址。一个不起作用的例子是回送地址127.0.0.1,即使从服务器的角度来看它是一个正确的IP。

+0

非常感谢您的回答!不幸的是,这是我们的服务器的一个问题,以及它的循环是如何在给定问题集的情况下构建的 例如,你绝对正确的是外部地址是必须提供的。在我们的例子中,我们的服务器返回了一个字节数组,其IP地址的第一个字节设为零,无论如何 - 我们的本地环路测试显示IP为0.0.0.1。 一旦我们修复了我们的条件循环,结果是我们拥有了一切。如果有人有类似的问题,需要更多的澄清,随时回复。 再次感谢@Jack。 – Ryanman