Hallo,
ich muss ein Keep Alive für eine TCP/IP Verbindung realisieren. Das heißt ich muss überprüfen ob die Gegenstelle noch nach Nachrichten horcht. Problem ist das die Verbindung noch aktiv sein kann. Weiteres Problem ist das ich nicht davon ausgehen kann das die Gegenstelle auf ein 'Testtelegramm' antwortet. Das heißt ich muss irgendwie überprüfen ob Nachrichten entgegengenommen wurden.
checkError liefert immer false zurück solange die Verbindung an sich noch aktiv ist. Hänge ich jetzt auf der Gegenstelle in einem Sleep fest wird aber trotzdem false zurück geliefert. Im falle eines Verbindungsabbruches, also der Socket wird geschlossen, wird true zurück geliefert....aber das bekommen ich ja auch so mit, durch eine Exception die geworfen wird.
Kann mir jemand bei meinem Problem helfen? Ich hoffe ich habs einigermaßen verständlich erklärt!
LG
ich muss ein Keep Alive für eine TCP/IP Verbindung realisieren. Das heißt ich muss überprüfen ob die Gegenstelle noch nach Nachrichten horcht. Problem ist das die Verbindung noch aktiv sein kann. Weiteres Problem ist das ich nicht davon ausgehen kann das die Gegenstelle auf ein 'Testtelegramm' antwortet. Das heißt ich muss irgendwie überprüfen ob Nachrichten entgegengenommen wurden.
Java:
PrintWriter outPrintWriter = new PrintWriter(this.socket.getOutputStream(),
false);
outPrintWriter.print(messageText);
outPrintWriter.flush();
outPrintWriter.checkError();
checkError liefert immer false zurück solange die Verbindung an sich noch aktiv ist. Hänge ich jetzt auf der Gegenstelle in einem Sleep fest wird aber trotzdem false zurück geliefert. Im falle eines Verbindungsabbruches, also der Socket wird geschlossen, wird true zurück geliefert....aber das bekommen ich ja auch so mit, durch eine Exception die geworfen wird.
Kann mir jemand bei meinem Problem helfen? Ich hoffe ich habs einigermaßen verständlich erklärt!
LG