Подскажите кто знает в чем может быть проблема?
Есть код:
InetAddress address1 = InetAddress.getByName("nist.netservicesgroup.com");
int server_port = 123;
socket = new DatagramSocket();
byte[] buf = new byte[1024];
socket.setSoTimeout(10000);
DatagramPacket packet = new DatagramPacket(buf, buf.length, address1, server_port);
socket.send(packet);
DatagramPacket packet2 = new DatagramPacket(buf, buf.length);
socket.receive(packet2);
Отправляет на сервер nist.netservicesgroup.com порт 123 запрос. После чего ждет ответ 10 сек.
Стоит permission android.permission.INTERNET.
Ответ не приходит. Ставил разные порты (13, 37 и 123). Менял разные адреса (список тут http://tf.nist.gov/tf-cgi/servers.cgi)
Куда, что засунуть и откуда что высунуть чтобы заработало?
Заранее спасибо за полезные ответы.
Ответ
К сожалению, я не сталкивался с сокетами в андроиде и не работал с NIST. Из своего опыта с WinSock и сокетами на юникс-системах могу предложить использовать пятизначные порты, а также попробуйте настроить работу через стандартные способы, например через протокол tcp (т.к если назначения не существует, то сообщение просто не уйдет). Также проверьте доступность портов с другой стороны. У меня часто бывало, что сервер был выключен или работал на другом сокете. Незаменимым помощником будет браузер+ping+telnet (последнее я не использовал, но в различной литературе упоминается постоянно).
Комментариев нет:
Отправить комментарий