2011-05-18 159 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条目。

相关问题