Python,重新创建套接字并自动重新连接

Python,重新创建套接字并自动重新连接

问题描述:

我正在Python中编写一个IRC bot。Python,重新创建套接字并自动重新连接

来源:http://pastebin.com/gBrzMFmA(抱歉引擎收录,我不知道如何efficently /正确使用代码在这里tagthing上)

当“IRC”插座死了,反正是有,我可以去检测是否它的死亡,然后自动重新连接?

我刚刚googling了一段时间,发现我将不得不创建一个新的套接字。我试图和添加的东西就像在真实的同时捕捉socket.error:但似乎只是挂,不正确连接..

感谢您的帮助提前

+0

你有什么代码? – User 2013-04-08 18:02:11

在这里找到答案:Python : Check if IRC connection is lost (PING PONG?)

虽然问题所有者的接受的答案的作品,我喜欢约翰·莱德贝特的答案在这里,索利因为其简单:https://*.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 2016-12-18 14:26:21