socket programming
Pedro
pedro at ncf.ca
Fri May 3 23:37:35 EDT 2013
On Friday, May 3, 2013 10:23:38 PM UTC-4, Chris Angelico wrote:
> On Sat, May 4, 2013 at 12:13 PM, Pedro <pedro at ncf.ca> wrote:
>
> > First - this code constantly loops around an open socket. Is there a way to use something like an interrupt so I don't have to loop constantly to monitor the socket?
>
>
>
> The accept() call should block. It's not going to spin or anything. If
>
> you need to monitor multiple sockets, have a look at select().
>
>
>
> > Second, if any part of the program fails execution (crashes) the port often remains open on my windows machine and the only way to close it that i know of is through task manager or by rebooting the machine. Is there an easy way around this problem ? If I don't close the port the program can't open it again and crashes.
>
>
>
> It remains for a short time to ensure that there's no lurking
>
> connections. You can bypass this check by setting the SO_REUSEADDR
>
> option - lemme hunt that down in the Python docs, haven't done that in
>
> Python for a while...
>
>
>
> http://docs.python.org/3.3/library/socket.html#socket.socket.setsockopt
>
>
>
> s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
>
>
>
> That should do the job.
>
>
>
> ChrisA
Thanks Chris, can you elaborate on the accept() call should block?
More information about the Python-list
mailing list