Seite 1 von 1

Erkennen eines Verbindungsabruchs und automatischer reconnec

Verfasst: Montag 24. Juni 2013, 12:09
von pl3ktrum
Hallo Leute!

Ich arbeite momentan an einem kleinen IRCbot, dieser funktioniert bisher tadellos und tut was er soll.
Nun habe ich diesen Bot auf meinem kleinen Server zuhause laufen und finde es nervig das dieser sich immer beendet wenn mein Provider den automatischen reconnect durchführt.
Ich würde gerne dafür sorgen das der Bot merkt das die Internetverbindung weg ist und sich automatisch wieder verbindet sobald diese wieder da ist, weiss aber gar nicht wie sich das realisieren ließe.

Hier die Connectionklasse: http://pastebin.com/mMqVSd9k
Über Tipps und Tricks wäre ich sehr dankbar =)

Re: Erkennen eines Verbindungsabruchs und automatischer reco

Verfasst: Montag 24. Juni 2013, 14:48
von Sr4l
Da gibt es mehrer Ansätze, aber funktioniert dein IRCbot überhaupt? Fehlt da nicht PING? PONG! Behandlung?

Zur Behandlung der Verbindung wenn dein Internet ausfällt dann beendet sich dein Programm nicht einfach, es gibt einen Fehler und diesen kannst du behandeln.

Re: Erkennen eines Verbindungsabruchs und automatischer reco

Verfasst: Montag 24. Juni 2013, 18:41
von pl3ktrum
Der Bot Läuft ohne Probleme, PingPong usw. ist auch drin, ich habe diese Sachen im paste jetzt einfach außen vor gelassen da die connectionklasse denke ich das wichtigste ist.
Wie kann ich denn erkennen ob die Internetverbindung weg ist? gibt es sowas wie socket.isconnected oder so?
Leider hilft mir die Dokumentation nicht wirklich weiter bzw ich finde es nicht. =(

Re: Erkennen eines Verbindungsabruchs und automatischer reco

Verfasst: Montag 24. Juni 2013, 19:14
von Sirius3
@pl3ktrum: sockets verhalten sich ähnlich wie alle anderen Fileobjekte auch: recv/read/readline liefert einfach einen leeren String zurück, write/send meldet sich mit eine Exception.