The Python library supplies a framework module,
SocketServer, to help you implement simple Internet servers.
SocketServer supplies server classes
TCPServer, for connection-oriented servers using TCP, and
UDPServer, for datagram-oriented servers using UDP, with the same interface.
s of either
UDPServer supplies many attributes and methods, and you can subclass either class and override some methods to architect your own specialized server framework. However, I do not cover such advanced and rarely used possibilities in this book.
UDPServer implement synchronous servers that can serve one request at a time. Classes
ThreadingUDPServer implement threaded servers, spawning a new thread per request. You are responsible for synchronizing the resulting threads as needed. Threading is covered in Threads in Python.
For normal use of
SocketServer, subclass the
BaseRequestHandler class provided by
SocketServer and override the
handle method. Then instantiate a server class, passing the address pair on which to serve and your subclass of
BaseRequestHandler. Finally, call
serve_forever on the server instance.
BaseRequestHandler supplies the following methods and attributes.
Your subclass overrides this method, and the server ...