2013-04-08 14 views
5

Python'da bir IRC botu yazıyorum.Python, bir soket oluşturun ve otomatik olarak yeniden bağlayın

Kaynak: http://pastebin.com/gBrzMFmA "irc" soket öldüğünde

(pastebin için üzgün i yöneticileriniz/doğru burada tagthing kodu nasıl kullanılacağını bilmiyorum), yine orada ben eğer algılama konusunda gidebiliriz Ölü ve sonra otomatik olarak yeniden bağlanıyor?

Şimdi bir süredir googling yapıyordum ve yeni bir soket oluşturmam gerektiğini öğrendim. Ben çalışıyorum ve True süre socket.error yakalamak gibi şeyler eklendi: ama sadece doğru yeniden asmak değil gibi görünüyor .. yardım için

peşin

+0

hangi kodunuz var? – User

cevap

5

burada Yanıtlanmış: Python : Check if IRC connection is lost (PING PONG?)

While https://stackoverflow.com/a/6853352/625919

Yani, benim için, ben

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() 
çizgisinde bir şey var: soru sahibinin kabul cevabı basit olduğu için soley, burada John Ledbetter yanıtını tercih işleri
+0

bu sadece sürekli bir veri akışı olduğunda işe yarar mı? Sunucudan boş bir paket aldığı andaki bağlantıyı yeniden kuracak gibi görünüyor mu? – user1561108