python中SocketServer是什么?
小妮浅浅
2021-04-08 18:04:155281浏览 · 0收藏 · 0评论
本文教程操作环境: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。对于一些比较复杂的程序,我们一般会选择这种框架进行处理,这样能减少很多开发的时间。
以上就是python中SocketServer的基本介绍,相信大家对于这种高难度的服务器框架学习起来比较困难,不过我们可以就一些基础知识点进行了解。
关注公众号,随时随地在线学习