How do I reconnect a disconnected socket?
Mike
termim at gmail.com
Fri Mar 28 13:01:25 EDT 2008
On Mar 28, 10:01 am, Jason Kristoff <deevine-removethis-
s... at gmail.com> wrote:
> 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()
I'd recommend to look at Twisted ReconnectingClientFactory -
http://twistedmatrix.com/trac/browser/trunk/twisted/internet/protocol.py#L198
More information about the Python-list
mailing list