一.创建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需要自定义  也就是连接通道之后的接收发送逻辑过程

相关文章:

  • 2021-11-16
  • 2021-12-22
  • 2021-06-05
  • 2022-02-01
  • 2021-11-15
  • 2021-09-18
猜你喜欢
  • 2021-07-03
  • 2021-06-10
  • 2019-12-07
  • 2021-10-03
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案