Hallo,
Ich versuch mich neuerdings auch ein bißchen mit Java und hab mir als "Start-Projekt" gedacht einen kleinen Channel-Service-Bot fürs IRC zu schreiben.
Jedoch hab ich jetzt folgendes Problem:
Ab und an, wirklich selten aber dennoch passiert es, disconnected der Bot aufgrund von "PING TIMEOUT".
Was ich jetzt einbauen will - und zwar IMMER wenn er disconnected, nicht nur bei "PING TIMEOUT" sondern immer, egal welchen Grund es hat, ist eine "Reconnect" funktion, quasi sobald die Verbindung abgebrochen wurde (aus welchem Grund auch immer) soll er den alten Socket schließen und selbst eine neue Verbindung herstellen. Eine Möglichkeit hab ich auch schon umgesetzt, is allerdings nicht wirklich schön; bei "PING TIMEOUT" sendet der Server eine Zeile "ERROR: ... (Ping Timout)", also nehm ich das eben als Indikator um den alten Socket zu schließen und eine neue Verbindung zum Server herzustellen.
Was mir quasi fehlt ist ein Indikator der anzeigt "Hey, die Verbindung ging gerade Verloren!", damit ich sobald das auftritt den Neustart-Vorgang einleiten kann.
Bei google hab ich einiges gefunden, vor allem so ne Art Timer, der einen Timeout setzt wenn der Server einige Zeit nichts gesendet hat, dann den Socket schließt und eine neue Verbindung aufbaut. Leider hab ich das alles nicht so richtig verstanden, also lange Rede kurzer Sinn:
Kann mir wer ein Beispiel geben, bei dem zB. eine Exception einen Verbindungsabbruch zum Server meldet, die ich dann "catch'en" und in das Scope der Exception meinen "Reconnect-Vorgang" einbauen kann? Oder irgendeine andere eventuell bessere Möglichkeit? Ein kurzes Beispiel wäre nett!
Vielen Dank schonmal im Voraus.
Mfg,
gampoo
Ich versuch mich neuerdings auch ein bißchen mit Java und hab mir als "Start-Projekt" gedacht einen kleinen Channel-Service-Bot fürs IRC zu schreiben.
Jedoch hab ich jetzt folgendes Problem:
Ab und an, wirklich selten aber dennoch passiert es, disconnected der Bot aufgrund von "PING TIMEOUT".
Was ich jetzt einbauen will - und zwar IMMER wenn er disconnected, nicht nur bei "PING TIMEOUT" sondern immer, egal welchen Grund es hat, ist eine "Reconnect" funktion, quasi sobald die Verbindung abgebrochen wurde (aus welchem Grund auch immer) soll er den alten Socket schließen und selbst eine neue Verbindung herstellen. Eine Möglichkeit hab ich auch schon umgesetzt, is allerdings nicht wirklich schön; bei "PING TIMEOUT" sendet der Server eine Zeile "ERROR: ... (Ping Timout)", also nehm ich das eben als Indikator um den alten Socket zu schließen und eine neue Verbindung zum Server herzustellen.
Was mir quasi fehlt ist ein Indikator der anzeigt "Hey, die Verbindung ging gerade Verloren!", damit ich sobald das auftritt den Neustart-Vorgang einleiten kann.
Bei google hab ich einiges gefunden, vor allem so ne Art Timer, der einen Timeout setzt wenn der Server einige Zeit nichts gesendet hat, dann den Socket schließt und eine neue Verbindung aufbaut. Leider hab ich das alles nicht so richtig verstanden, also lange Rede kurzer Sinn:
Kann mir wer ein Beispiel geben, bei dem zB. eine Exception einen Verbindungsabbruch zum Server meldet, die ich dann "catch'en" und in das Scope der Exception meinen "Reconnect-Vorgang" einbauen kann? Oder irgendeine andere eventuell bessere Möglichkeit? Ein kurzes Beispiel wäre nett!
Vielen Dank schonmal im Voraus.
Mfg,
gampoo