Ich arbeite an einer Android-App. Die App fungiert als Client. Es sendet kontinuierlich Daten an einen Server (sagen wir nach jeder halben Sekunde). Der Server läuft auf meinem PC. Wie kann ich von meiner App aus feststellen, dass der Server geschlossen wurde, sodass ich den Benutzer darüber informieren kann? Unten ist mein Codedaten vom Client zum Server zu senden:Java-Socket-Programmierung: Erkennen, ob Client und Server verbunden sind
AusnahmenSocket socket = null;
PrintWriter out = null;
try {
socket = new Socket(ip, PORT);
out = new PrintWriter(socket.getOutputStream(), true);
out.println(myMessage);
}
catch (IOException e) {
e.printStackTrace();
}
Gibt es irgendetwas nach diesem Code, der weiterhin den 'Socket' verwendet? – zapl
Überprüfen Sie [diesen Beitrag] (http://stackoverflow.com/questions/1390024/how-do-i-check-if-a-socket-iscurrent-lyconnected-). Ich denke, es beantwortet deine Frage. Diese [link] (http://stackoverflow.com/questions/865987/do-i-need-to-heartbeat-to-keep-a-tcp-connection-open) erläutert. – caburse
Ja, ich sende weiterhin Nachrichten mit out.println(). Ich mache das in einem anderen Thread, der nach jeder halben Sekunde Nachrichten sendet. –