Hi all,
This is my framework for create TCP server listening forever on a port
and supporting threads:
import SocketServer
port = 2222
ip = "192.168.0. 4"
server_address = (ip, port)
class ThreadingTCPSer ver(SocketServe r.ThreadingMixI n,
SocketServer.TC PServer): pass
class Handler(SocketS erver.BaseReque stHandler):
def handle(self):
# my handler
print "Listening for events at " + ip + ":" + str(port)
monitor_server = ThreadingTCPSer ver(server_addr ess, Handler)
try:
monitor_server. serve_forever()
except KeyboardInterru pt:
monitor_server. socket.close()
print "Bye."
This server will not run as a daemon and for quitting you have to send
the SIGINT signal with Ctrl-C. It will rise the KeyboardInterru pt
exception, during its handling I simply close the socket and print a
message.
I want to ask if someone knows a better way for closing a "forever
server" or if there is a lack in my design.
Thank you!
Alessandro
This is my framework for create TCP server listening forever on a port
and supporting threads:
import SocketServer
port = 2222
ip = "192.168.0. 4"
server_address = (ip, port)
class ThreadingTCPSer ver(SocketServe r.ThreadingMixI n,
SocketServer.TC PServer): pass
class Handler(SocketS erver.BaseReque stHandler):
def handle(self):
# my handler
print "Listening for events at " + ip + ":" + str(port)
monitor_server = ThreadingTCPSer ver(server_addr ess, Handler)
try:
monitor_server. serve_forever()
except KeyboardInterru pt:
monitor_server. socket.close()
print "Bye."
This server will not run as a daemon and for quitting you have to send
the SIGINT signal with Ctrl-C. It will rise the KeyboardInterru pt
exception, during its handling I simply close the socket and print a
message.
I want to ask if someone knows a better way for closing a "forever
server" or if there is a lack in my design.
Thank you!
Alessandro
Comment