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

posted @ 2019-01-07 20:01  雾霾1024  阅读(551)  评论(0编辑  收藏  举报