March 2003
Intermediate to advanced
656 pages
39h 30m
English
server
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.
Read now
Unlock full access