Using ForkingMixIn in your socket server applications
You have decided to write an asynchronous Python socket server application. The server will not block in processing a client request. So the server needs a mechanism to deal with each client independently.
Python SocketServer
class comes with two utility classes: ForkingMixIn
and ThreadingMixIn
. The ForkingMixIn
class will spawn a new process for each client request. This class is discussed in this section. The ThreadingMixIn
class will be discussed in the next section. For more information, you can refer to the relevant Python 2 documentation at http://docs.python.org/2/library/socketserver.htmland Python 3 documentation athttps://docs.python.org/3/library/socketserver.html.
How to do it...
Let us rewrite our echo server, previously described in Chapter 11, Sockets, IPv4, and Simple Client/Server Programming. We can utilize the subclasses of the SocketServer
class family. It has ready-made TCP, UDP, and other protocol servers. We can create...