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:
Code
try {
Socket socket = new Socket(host, port);
socket.setSoTimeout(_timeout);
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(
socket.getOutputStream()));
printWriter.print(message);
printWriter.flush();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
char[] buffer = new char[5242880];
int anzahlZeichen = bufferedReader.read(buffer, 0, 5242880);
response = new String(buffer, 0, anzahlZeichen);
socket.close();
} catch (Exception e) {
if(e.toString().contains("timed out")) response = "timeout";
}
Alles anzeigen
In Desktop-Java-Anwendungen klappt der Code eig. - wo liegt der Fehler?
Danke im vorraus~