new Socket->Absturz

  • Hey Leute,


    folgendes hab ne kleine App die einfache Nachrichten per TCP verschickt.
    Wenn der passende Server am andern ende da ist, gibts keine Probleme.


    So nun muss man natürlich auch den Fehler abfangen wenn keine Soket verbindung aufgebaut werden kann.
    Bei Normalen Java-Clienten fang ich die einfach mit nen try ab. timeout setzte ich auch. trotzdem freezt die App und nach nen paar sekunden kommt "<App> is not responding -> force close"


    Wenn ichs richtig eingrenzen konnte stürzt das Programm direkt beim anlegen des Sockets ab
    Socket socket = new Socket(host, port);


    Hier mal die Betreffenden Zeilen:


    In Desktop-Java-Anwendungen klappt der Code eig. - wo liegt der Fehler?


    Danke im vorraus~

  • Ich rate mal drauf los ;)
    Die Meldung kommt automatisch, wenn dein UI-Thread länger als 5 Sekunden (keine Garantie) blockiert ist. Das soll verhindern, dass die User Experience leidet. Wenn du den Code in nem eigenen Thread ausführst (Stichwort AsyncTask) müsste es eigentlich klappen.
    Sonstige Anmerkung: es ist wahrscheinlich besser nicht nach dem Inhalt der Exception (enthält "timed out") zu unterschieden, sondern nach dem tatsächlichen Typ der Exeption (denke mal IOException). Man kann ja mehrere catch-Blöcke machen.

  • Hallo, also ich habe es bisher einfach so gemacht, dass ich prüfe ob der socket null ist. Denn dann ist beim erzeugen was schief gelaufen.



    Java
    Socket socket = new Socket(host, port);
    
    
    if (socket != null){
    ...
    }else{
    //Fehlerausgabe
    }


    gruß joensen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!