Подключение по имени хоста - PullRequest
4 голосов
/ 18 мая 2011

У меня есть сервер, работающий на моей локальной машине (Windows 7), который прослушивает входящие соединения tcp сокетов.На той же машине я использую Android Emulator через IntelliJ.

Соединение устанавливается При выполнении:

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, чтобы пинговать (по имени хоста) мой компьютер и другие компьютеры по той же сети, я получаю ответы.
Есть идеи, как заставить это работать?

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Я понял это.По-видимому, эмулятор, в отличие от некоторого сервиса, работающего в Windows, не переводит имя comp2 в полное имя хоста comp2.letre.ltdИзменение

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

на

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

исправлено

0 голосов
/ 18 мая 2011

Пожалуйста, проверьте записи DNS, которые разрешают имя хоста и соответствующий IP-адрес.

...