2013-04-08 17 views
5

私はPythonでIRC botを書いています。Python、ソケットを再作成して自動的に再接続

出典:「IRC」ソケットが死ぬとき、私はかどうかを検出するに取り掛かることができ、とにかくhttp://pastebin.com/gBrzMFmA(ペーストビンのため申し訳ありませんが、私はefficently /正しくここにtagthingコードを使用する方法がわからない)

ありその死んで、自動的に再接続?

私はしばらくの間、グーグルをしていましたが、新しいソケットを作成する必要があることがわかりました。私がしようと真しばらくsocket.errorがを引くようなものが追加されました。それだけで正常に再接続がハングしていないようです...助けのため

感謝を事前に

+0

どのようなコードがありますか? – User

答えて

5

はここに回答:Python : Check if IRC connection is lost (PING PONG?)

しばらく質問所有者の受け入れ答え作品、私はここにジョン・レッドベターの答えを好む、そのシンプルさのためソリー:だからhttps://stackoverflow.com/a/6853352/625919

は、私のために、私は

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() 
の線に沿って何かを持っています
+0

これは受信するデータの連続ストリームがある場合にのみ有効ですか?サーバーからの空のパケットを受信した瞬間に再接続するように見えますか? – user1561108