Я пытаюсь подключиться к серверу с помощью сокета Java. Я пытаюсь соединиться от порта 80 до 90Блоки Java-сокетов при подключении к серверу
int port;
Socket clientsocket;
String hostname = "www.google.com";
for(port = 80;port<=90; port++){
try{
clientsocket = new Socket(hostname,port);
System.out.println("Connection at port " + port + "\t" + clientsocket.isConnected());
clientsocket.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
Когда я пытаюсь подключиться к любой веб-сайт, как google.com или w3schools.com моя программа висит на socket()
призыв к номерам портов за исключением 80. Поскольку эти веб-сайты не работают на портах 81-90, он должен вызывать исключение, но вместо этого он блокируется. Для порта 80 он работает нормально. Когда я пытаюсь подключиться к серверу apache, установленному на моей машине, он не блокирует ни одного номера порта и дает мне отказ от отказа Connection, который является очевидным поведением. Так почему это происходит. Заранее спасибо.
Аналогичная проблема http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4232651 – Durin
Не ваш код, даже telnet www.google.com 81 раз. – lobster1234
@ lobster1234: спасибо за ответ. Код, который я написал выше, - это мой код. Ссылка на ошибку, конечно, не моя. – Durin