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 1, 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...