How do I reconnect a disconnected socket?

Jason Kristoff deevine-removethis-spam at gmail.com
Fri Mar 28 10:01:55 EDT 2008


I'm trying to make something that once it is disconnected will 
automatically try to reconnect.  I'll add some more features in later so 
it doesn't hammer the server but right now I just want to keep it simple 
and get that part working.  The problem is that when I use sock.close I 
get an error message of
Bad File Descriptor
and if I either use shutdown or just go straight to reconnecting I get:
Transport endpoint is already connected

This is what I've got right now:

#! /usr/bin/env python
import socket, string
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def doconn():
     sock.connect(("localhost", 1234))
def dodiscon():
     sock.close()
     doconn()

doconn()

while (1):
     buffer = sock.recv(1024)
     if not buffer:
         dodiscon()



More information about the Python-list mailing list