我正嘗試使用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 refused錯誤,這是顯而易見的行爲。 那麼爲什麼會發生。提前致謝。
類似問題 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4232651 – Durin 2011-04-17 07:08:03
它不是你的代碼,甚至是telnet www.google.com 81次出。 – lobster1234 2011-04-17 07:09:13
@ lobster1234:謝謝你的回覆。 我上面寫的代碼是我的代碼。該錯誤的鏈接當然不是我的。 – Durin 2011-04-17 07:10:39