socketserver实例化过程
一.创建server对象时__init__的执行

找继承中的__init__

这是ThreadingMixIn类中的方法

这是TCPServer类中的方法(父类BaserServer中还会用到finish_request()方法)

这是TCPServer中的__init__ 过程

第一步:调用BaseServer的__init__ 传入参数

第二步:实例化一个socket对象

第三步:调用self.server_bind() 绑定socket 的ip和端口

第四步:调用self.server_activate() listen监听

二.Serve_forever() 过程:

第五步: 监听后可以接听 accept() 得到通道和地址端口


ThreadingMixIn类中的

finish_request先在自己中找 然后ThreadingMixIn -> TCPServer -> BaseServer

在父类TCPServer中的BaseServer这个父类中

第七步:给自己定义的类传参 通道和地址

绕一圈 给定义的类穿个参数

SocketServer
1.在server = socketserver.ThreadingTCPServer 实例化对象的时候就是在执行:
Socket创建对象 -> 对象.bind(ip_port) -> 对象.listen() 的过程
2.Serve.forever()调用就是在执行:
对象.accept()

Handld需要自定义 也就是连接通道之后的接收发送逻辑过程

浙公网安备 33010602011771号