翻译来自:https://docs.python.org/3.7/library/socketserver.html
socketserver模块简化了编写网络服务器的任务。
有四种基本的具体服务类:
- class
socketserver.
TCPServer
(server_address, RequestHandlerClass, bind_and_activate=True)
- class
socketserver.
UDPServer
(server_address, RequestHandlerClass, bind_and_activate=True)
- class
socketserver.
UnixStreamServer
(server_address, RequestHandlerClass, bind_and_activate=True)
- class
socketserver.
UnixDatagramServer
(server_address, RequestHandlerClass, bind_and_activate=True)
-
产生一个服务需要以下几步:
首先,你必须创建一个request handler class (请求处理类),方法是子类化BaseRequestHandler class并覆盖它的handle()方法,这个方法将处理传入的请求。
其次,必须实例化其中一个服务类,并将 server’s address (服务器的地址)和 the request handler class (请求处理类)传递给它(服务类)。建议在with语句中使用服务。然后调用服务器对象的 handle request() 或 serve forever() 来处理一个或多个请求。
最后,调用server close()关闭套接字(使用with语句,不需要担心)。