本學期我開始了我的第一個網絡課程。 我的問題是,每當我嘗試將我的套接字連接到局域網外的主機時,就會返回 網絡不可達錯誤。無論他們是BSD套接字還是Java套接字。 此外,我的nmap探針也返回相同的錯誤。 有一次,我在這裏詢問了有關ping探針的類似問題,答案是我的LAN代理拒絕了ICMP請求。但是在建立TCP連接時沒有ICMP請求? 另一方面,爲什麼我的瀏覽器可以連接到任何主機...雖然它使用相同的代理... 另外,(請原諒我長期懷疑),當我給主機名稱www.google。 com在我的套接字中,返回「未知主機」。但我的瀏覽器高興地認出了同一個主機。爲什麼我的套接字程序無法連接到互聯網?
預先感謝您...
import java.net.*;
import java.io.*;
class Whois {
public static void main(String args[]) throws Exception{
int c;
Socket s=new Socket(args[0],Integer.parseInt((args[1])));
InputStream in=s.getInputStream();
while((c=in.read()) != -1) {
System.out.print((char) c);
}
s.close();
}
}
瀏覽器在通過的端口80上運行;而我的猜測是你的套接字在被阻塞的端口上運行。 – 2011-01-11 15:34:26
我也嘗試過80端口。同樣的錯誤 – pflz 2011-01-11 15:47:41
您可能需要發佈一些代碼,因爲它可能是任何數量的東西。 – 2011-01-11 15:52:30