一、socketserver简介
socketserver是一个通用套接字类,从各方面定义一个server。对于基本的套接字服务器(socket-based servers),包括地址族(AF_INET,AF_UNIX等)、套接字类型(SOCK_STREAM,SOCK_DGRAM)等,对于基于请求的服务器(request-based servers),包括了客户端认证,如何处理多重请求等。二、server种类
在serketserver里有5种类型的server,他们的继承关系如下图,下面的4个类都是同步处理请求的,不支持异步处理。如果要让他们支持异步处理,需要继承多进程和多线程(ForkingMixIn and ThreadingMixIn),比如说定义一个多线程UDPserver需要这样写 class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass
如果要自己写一个server类,首先要继承基本请求处理类baseRequestHandler,然后重写他的 handle()方法来实现你自己的请求处理类,需要注意的是要区分开 StreamRequestHandler or DatagramRequestHandler(TCp or UDP)
时间: 2024-10-26 00:59:44