python-socketServer
标签:riprequest协议重写pythonintervaldef协议类型file
创建SocketServer的那么几个步骤。
1.你必须自己创建一个处理请求类,并且要继承BaseRequestHandler,还有重写父类中的handle()方法。
2.你必须实例化其中一个Server类型,并且传值serverip和你创建的[处理请求类]
3.然后用你创建的类调用handle_request()[只处理一个请求] serve_forever()[处理多个请求]
4.调用server_close()关闭。
Server类型包括:
[\”BaseServer\”, \”TCPServer\”, \”UDPServer\”, \”ForkingUDPServer\”,
\”ForkingTCPServer\”, \”ThreadingUDPServer\”, \”ThreadingTCPServer\”,
\”BaseRequestHandler\”, \”StreamRequestHandler\”,
\”DatagramRequestHandler\”, \”ThreadingMixIn\”, \”ForkingMixIn\”]
\”\”\”
There are five classes in an inheritance diagram, four of which represent
synchronous servers of four types:
+————+
| BaseServer |
+————+
|
v
+———–+ +——————+
| TCPServer |——->| UnixStreamServer |
+———–+ +——————+
|
v
+———–+ +——————–+
| UDPServer |——->| UnixDatagramServer |
+———–+ +——————–+
常用方法的简单说:
def fileno(self):
返回文件描述符
def handle_request(self):
处理单个请求
def serve_forever(poll_interval=0.5):
处理多个请求,poll_interval,每0.5秒检测是否有shutdown请求。
def service_actions():
一旦执行shutdown,立刻执行service_actions
def shutdown():
停止
def server_close():
关闭服务
def defaddress_family():
地址簇
class RequestHandlerClass:
请求处理类
server_address
ip地址
allow_reuse_address
重用地址。
socket_type
协议类型
timeout
超时时间
finish_request()
\”\”\”
未完…..
python-socketServer
标签:riprequest协议重写pythonintervaldef协议类型file
原文地址:https://www.cnblogs.com/yzhl/p/9057072.html