8

Python で IRC ボットを作成しています。

ソース: http://pastebin.com/gBrzMFmA (pastebin で申し訳ありませんが、ここでコード tagthing を効率的に/正しく使用する方法がわかりません)

「irc」ソケットが死んだとき、死んだかどうかを検出してから自動的に再接続する方法はありますか?

しばらくグーグルで調べていたところ、新しいソケットを作成する必要があることがわかりました。while True: で socket.error をキャッチするようなものを追加しようとしましたが、ハングして正しく再接続しないようです..

事前に助けてくれてありがとう

4

2 に答える 2

9

ここで回答: Python: IRC 接続が失われたかどうかを確認します (PING PONG?)

質問の所有者が受け入れた回答は機能しますが、私はジョン・レッドベターの回答をここで好んでいます。

だから、私にとっては、

def connect():
    global irc
    irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    irc.connect((server, port))
    #and nick, pass, and join stuffs
connect()
while True:
    data = irc.recv(4096)
    if len(data) == 0:
        print "Disconnected!"
        connect()
于 2013-06-26T06:19:07.603 に答える