Meine Java-Internetverbindungsprüfung schlägt immer fehl

  • Ich muss in meiner Java-App nach Internetverbindung suchen. Ich habe dieses einfache Programm erstellt, aber es heißt immer falsch.

     import java.io.IOException;
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    public class Internet {
    
    public static void main(String args[]){
        String host = "209.85.175.104";
        int timeOut = 10000; // I recommend 3 seconds at least
        try {
            boolean status = InetAddress.getByName(host).isReachable(timeOut);
            System.out.println(status);
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       }
    
    }
     

    Ich habe String host = "www.google.com"; ausprobiert Adresse durch Ping in mein Terminal und Kopieren.

    22 November 2011
    Michael PetrottaDharmik
1 answer
  • Laut javadoc http://download.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29 Es werden ICMP-Echo-Anforderungen getestet. Dadurch wird versucht, den Host an Port 7 (Echo) zu erreichen. Wahrscheinlich sind Firewall-Probleme beim ersten, und ich bezweifle, dass Google Port 7 geöffnet hat.

    Können Sie nur versuchen, eine Verbindung herzustellen, und wenn dies fehlschlägt, wird der Host nicht erreicht? Gibt es einen bestimmten Grund, den Sie zuerst überprüfen müssen?

    22 November 2011
    Bill