python中SocketServer是什么?

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、概念

模块 SocketServer是标准库提供的服务器框架的基石,这个框架包括 BaseHTTPServer、SimpleHTTPServer、CGIHTTPServer、SimpleXMLRPCServer 和 DocXMLRPCServer 等服务器,它们在基本的服务器的基础上添加了各种功能。

2、分类

SocketServer 包含4个基本的服务器:TCPServer(支持 TCP 套接字流)、UDPServer(支持 UDP 数据报套接字)以及更难懂的 UnixStreamServer 和 UnixDatagramServer。后面 3 个可能不会用到。

3、使用方法

1)使用模块 SocketServer 编写服务器时,大部分的代码都位于请求处理器中。每当服务器收到客户端的连接请求时,都将实例化一个请求处理程序,并对其调用各种处理方法来处理请求。具体调用哪些方法取决于使用的服务器类和请求处理程序类;

2)从请求处理类派生出子类,从而让服务器调用一组自定义的处理方法。基本请求处理程序类 BaseRequestHandler 将所有操作都放在一个方法中——服务器调用方法 handle。这个方法可通过属性 self.request 来访问客户端套接字。

3)处理的是流(使用 TCPServer 时很可能如此),可使用 StreamRequestHandler 类,它包含另外两个属性:self.rfile(用于读取)和 self.wfile(用于写入)。你可使用这两个类似于文件的对象来与客户端通信。

在网络通信中,我们有接触到Socket的方法,在它的基础上还有一种更为高级的使用,一般用在服务器的开发中,它就是SocketServer。对于一些比较复杂的程序,我们一般会选择这种框架进行处理,这样能减少很多开发的时间。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。