zoukankan      html  css  js  c++  java
  • 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需要自定义  也就是连接通道之后的接收发送逻辑过程

  • 相关阅读:
    zabbix
    amoeba 读写分离
    部署MySQL-主从异步复制
    MySQL 基本操作
    mysql 完整备份和恢复
    正则匹配表达式各个符文表达的意义
    Include和require的区别
    nosql和Mysql的区别
    Git与SVN的区别
    mongodb与mysql区别
  • 原文地址:https://www.cnblogs.com/q767498226/p/10235341.html
Copyright © 2011-2022 走看看