Name
server
Synopsis
The
h
.server
attribute is
the instance of the server class that instantiated this handler
object.
Example 19-5 uses module
SocketServer
to reimplement the server of Example 19-1 with the added ability to serve multiple
clients simultaneously by threading.
Example 19-5. Threaded TCP echo server using SocketServer
import SocketServer class EchoHandler(SocketServer.BaseRequestHandler): def handle(self): print "Connected from", self.client_address while True: receivedData = self.request.recv(8192) if not receivedData: break self.request.sendall(receivedData) self.request.close( ) print "Disconnected from", self.client_address srv = SocketServer.ThreadingTCPServer(('',8881),EchoHandler) srv.serve_forever( )
Run the server of Example 19-5 on a terminal window,
and try a few runs of Example 19-2 while the server
is running. Try also telnet localhost 8881
on
other terminal windows (or other platform-dependent Telnet-like
programs) to verify the behavior of longer-term connections.
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.