socketserver实例化过程

时间:2022-10-23 08:18:41

一.创建server对象时__init__的执行

socketserver实例化过程

找继承中的__init__

socketserver实例化过程

这是ThreadingMixIn类中的方法

socketserver实例化过程

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

socketserver实例化过程

这是TCPServer中的__init__ 过程

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

二.Serve_forever() 过程:

socketserver实例化过程

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

socketserver实例化过程

socketserver实例化过程

ThreadingMixIn类中的

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

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

socketserver实例化过程

SocketServer

  1.在server = socketserver.ThreadingTCPServer 实例化对象的时候就是在执行:

     Socket创建对象 -> 对象.bind(ip_port) -> 对象.listen() 的过程

  2.Serve.forever()调用就是在执行:

    对象.accept()

socketserver实例化过程

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