python中SocketServer是什么?
python中SocketServer是什么?
本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。
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的基本介绍,相信大家对于这种高难度的服务器框架学习起来比较困难,不过我们可以就一些基础知识点进行了解。更多Python学习教程请关注IT培训机构:千锋教育。

相关推荐HOT
更多>>
python包的导入方式有几种
python包的导入方式有几种本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、from...import导入frompackageimportmodule1,mo详情>>
2023-11-08 23:58:44
python参数是什么
python参数是什么1、概念Python中函数的参数是不变的对象。Python函数具有灵活的参数形式,但默认参数必须指向不变的对象。如果默认参数是可变...详情>>
2023-11-08 19:48:30
python使用items()遍历键值对
python使用items()遍历键值对字典可以用来存储各种方式的信息,所以有很多方式可以通过字典的所有键值对、键或值。说明1、即使通过字典,键值对...详情>>
2023-11-08 19:23:48
python按行读取文件的方法比较
python按行读取文件的方法比较1、read方法默认会把文件的所有内容一次性读取到内存。如果文件太大,对内存的占用会非常严重2、readline方法,re...详情>>
2023-11-08 18:22:27