socketserver
socketserver
简化了网络编程,它提供了
4
个
类:
TCPServer
,
UDPServer
,
UnixStreamServer
,
UnixDatagramServer
。这
4
个类是同步进行处理的,另
外
通过
ForkingMixIn
和
ThreadingMixIn
类来支持异步。
创建服务器的步骤。首先,你必须创建一个请求处理类,它是
BaseRequestHandler
的子类并重载其
handle()
方法。其次,你必须
实例化一
个服务器类,传入服务器的地址和请求处理程序类。最后,调用
handle_request()(
一般是调用其他事件循环或者使用
select())
或
serve_forever()
。
集成
ThreadingMixIn
类时需要处理异常关闭。
daemon_threads
指示服务器是
否要等待线程终止,要是线程互相独立,必须要设置为
True
,默认是
False
。
无论用什么网络协议,服务器类有相同的外部方法和属性。
下面简单介绍一下个各类的含义:
类
描述
BaseServer
包含服务器的核心功能与混合
(mix-in)
类的钩子功
能。这个类用于派生,不要直接生成这个类的类对
象,可以考虑使用
TCPServer
和
UDPServer
。
TCPServer/UDPServer
基本的网络同步
TCP/UDP
服务器
UnixStreamServer
基本的基于文件同步
TCP/UDP
服务器
UnixDatagramServer
ForkingMixIn
实现了核心的进程化或线程化的功能,用于与服务器
类进行混合
(mix-in)
,以提供一些异步特性。
ThreadingMixIn
不要直接生成这个类的对象
ForkingTCPServer
ForkingMixIn
和
TCPServer/UDPServer
的组合
ForkingUDPServer
Python的socketserversocketserver模块简化了TCP/UDP服务器的创建,提供同步和异步处理方式。通过BaseRequestHandler子类处理请求,结合ForkingMixIn或ThreadingMixIn实现异步。服务器类包括TCPServer、UDPServer、UnixStreamServer和UnixDatagramServer,ThreadingMixIn的daemon_threads属性控制线程关闭行为。创建服务器涉及定义请求处理类、实例化服务器类并调用handle_request或serve_forever。
902

被折叠的 条评论
为什么被折叠?



