changeset 275:a111d7c72ad0

* Bump up version number. * Use `SO_KEEPALIVE` to enable TCP-level pings for keeping the connection alive even if nothing is happening.
author cmlenz
date Sat, 08 Oct 2005 23:47:39 +0000
parents 4b6abf75a930
children 80645a15336b
files bitten/__init__.py bitten/util/beep.py
diffstat 2 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/__init__.py
+++ b/bitten/__init__.py
@@ -7,4 +7,4 @@
 # you should have received as part of this distribution. The terms
 # are also available at http://bitten.cmlenz.net/wiki/License.
 
-__version__ = '0.5'
+__version__ = '0.6'
--- a/bitten/util/beep.py
+++ b/bitten/util/beep.py
@@ -99,6 +99,7 @@
         asyncore.dispatcher.__init__(self)
         self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
         self.set_reuse_addr()
+        self.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
         self.bind((ip, port))
         self.sessions = []
         self.profiles = {} # Mapping from URIs to ProfileHandler sub-classes
@@ -198,6 +199,9 @@
                                 peer in the listening role, 1 for initiators
         """
         asynchat.async_chat.__init__(self, conn)
+        if conn:
+            self.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
+
         self.listener = listener
         self.addr = addr
         self.set_terminator('\r\n')
Copyright (C) 2012-2017 Edgewall Software