2013-04-11 7 views
16

Mein Code ist dies:Erste Errno 9: Bad Dateideskriptor in Python Buchse

while 1: 
    # Determine whether the server is up or down 
    try: 
     s.connect((mcip, port)) 
     s.send(magic) 
     data = s.recv(1024) 
     s.close() 
     print data 
    except Exception, e: 
     print e 
    sleep(60) 

Es funktioniert nach dem ersten Lauf in Ordnung, aber gibt mir 9 Errno nach jeder Zeit. Was mache ich falsch? BTW

,

mcip = "mau5ville.com" 
port = 25565 
magic = "\xFE" 
+2

Was tun Magie, Mcip und Port bedeuten? Bitte posten Sie den vollständigen Code auf www.pastebin.com – xxmbabanexx

+0

Fügte sie für Sie hinzu –

Antwort

31

Sie connect auf der gleichen Steckdose ruft Sie geschlossen. Das kannst du nicht tun.

Was the docs für close sagen:

Alle zukünftigen Operationen auf dem Socket-Objekt fehl.

Bewegen Sie einfach die s = socket.socket() (oder was auch immer Sie haben) in die Schleife. (Oder, wenn Sie bevorzugen, verwenden Sie create_connection anstatt es in zwei Schritten zu tun, was es schwieriger macht, falsch zu verstehen, und das bedeutet, dass Sie nicht IPv4 gegenüber IPv6 erraten müssen, usw.)

+0

Awesomee. Vielen Dank! –

Verwandte Themen