2011-05-18 213 views
4

我有一臺服務器運行在我的本地計算機(Windows 7)上,它偵聽傳入的TCP套接字連接。在同一臺機器上,我通過IntelliJ運行Android模擬器。通過主機名連接

連接被建立在執行:

Socket socket = new Socket(); 
InetSocketAddress address = new InetSocketAddress("10.0.2.2", 8082); 
socket.connect(address); 

但通過主機名嘗試時:

Socket socket = new Socket(); 
InetSocketAddress address = new InetSocketAddress("comp2", 8082); 
socket.connect(address); 

我得到:

java.net.UnknownHostException: Host is unresolved: comp2:8082 

當我使用Windows命令提示符來ping(通過主機名)我的電腦和其他電腦通過同一網絡我收到回覆。
關於如何讓它工作的任何想法?

回答

3

我已經解決了。顯然,模擬器與在Windows中運行的某些服務不同,它不會將名稱comp2轉換爲comp2.letre.ltd的完整主機名。 更改

InetSocketAddress address = new InetSocketAddress("comp2", 8082); 

InetSocketAddress address = new InetSocketAddress("comp2.letre.ltd", 8082); 

固定它

0

請檢查解析主機名爲&對應IP地址的DNS條目。

相關問題