[Python-Dev] stdlib socket usage and "keepalive"

Daniel Stutzbach daniel at stutzbachenterprises.com
Tue Apr 13 00:59:28 CEST 2010


On Mon, Apr 12, 2010 at 5:34 PM, Jesus Cea <jcea at jcea.es> wrote:

> The problem is: linux doesn't uses KEEPALIVE by default.
>

If you believe the problem is with the Linux kernel, perhaps you should take
up your case on a more appropriate mailing list?

Python's socket module is a fairly low-level module, as it's just a thin
wrapper around the corresponding operating system calls.  Anyone using it
has to be prepared to deal with a certain amount of exposed operating system
details.

If you want to use TCP KEEPALIVE on Linux, then just call:
    my_socket_object.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)

Most non-trivial applications use select() or poll() to avoid blocking calls
and do their own timeout-checking at the application layer, so they don't
need KEEPALIVE.
--
Daniel Stutzbach, Ph.D.
President, Stutzbach Enterprises, LLC <http://stutzbachenterprises.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20100412/3f695f4d/attachment.html>


More information about the Python-Dev mailing list