2016-11-05 113 views
0

我现在正在简单的程序上使用Java通过TCP发送文件。我有一个问题,我无法连接计算机(我正在使用路由器和本地IP地址测试应用程序)。Java - TCP连接

我开始通过连接:

sendSocket = new Socket(sendIp, port); 

,我想收到明年的PC上连接:

servsock = new ServerSocket(port); 
recieveSocket = servsock.accept(); 

其中 端口是12222, sendIp是169.254.5.47(第二台电脑即接收)

和myIP是192.168.0.52(发送的计算机)

我做错了什么?
我总是使用相同的端口,并且我在TCPView上看到java应用程序使用该端口。 也许我分配了错误的IP,或者我的防火墙以某种方式阻塞了。

最好的问候和感谢, 克里斯

+0

他们似乎不属于同一网络的权利? –

+0

在测试应用程序之前首先验证连接性,因为发件人和target'IP不在同一个LAN中。 Telnet是一个便于测试的工具。 –

回答

0

如果这是Windows网络中,IP 169.254.5.47表示主机没有从DHCP获得有效的IP地址。在一个标准的本地网络中,两个地址应该在同一个C类范围内(192.168.0。*)。

您必须先解决网络中的这个物理问题,并使用ping进行测试(每个主机应该能够ping另一个并查看答复)。

+0

你说得对。我检查了路由器上的IP地址,并且能够建立连接。 问题是,在第二台计算机上的java应用程序返回不同的IP比它是。我使用它:myIp = InetAddress.getLocalHost()。getHostAddress(); 它可以解决它吗? 谢谢,克里斯 –