2016-11-05 191 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(); 它可以解決它嗎? 謝謝,克里斯 –