• 【python】使用asyncore进行异步通信


    参考博文:http://blog.csdn.net/livefun/article/details/8721772

    参考博文:https://www.cnblogs.com/tomato0906/articles/4807774.html

    Asyncore是对服务器端socket的一个封装,主要解决多用户通信的问题。

    用户需要继承asyncore.dispatcher, 并且对其一些方法进行重写。

    一般来说需要重写的方法:

    handle_read: 当socket有可读数据的时候执行这个方法,是否有可读数据看readable()方法的返回结果

    handle_write: 当socket有可写数据的时候执行这个方法,是否有可写数据看writable()方法的返回结果

    handle_expt: 当socket出现OOB异常的时候执行这个方法

    handle_connect: 当有客户端连接的时候,执行该方法

    handle_close: 当连接关闭的时候执行这个方法

    handle_accept: 当作为server_socket监听的时候,有客户端连接的时候,用这个方法处理

    可使用的方法:

    create_socket(family, type): 创建一个套接字并且与对象绑定

    connect(address): 连接一个socket server

    send(data): 发送数据

    recv(buffer_size): 接受数据到内存缓存

    listen(backlog): socket_server 开始监听

    bind(address): socket_server 绑定端口

    accept(): socket_server接受客户端连接

    close(): 关闭socket

    一个典型的服务器例子:

    init里面:

      create_socket(INET, STREAM)

      set_reuse_addr()

      bind('', 12345)

      listen(5)

    handle_accept:

      accept()

      print

    init server

    asyncore.loop()

  • 相关阅读:
    JavaScript Design Patterns: Mediator
    Javascript模块化编程系列一: 模块化的驱动
    【329】word 替换文本高级用法
    【327】Python 中 PIL 实现图像缩放
    【326】PIL 截图及图片识别
    【325】python**:selenium
    Android iOS Dribbble风格边栏菜单实现
    Prof UIS相关
    浅谈工作中的几点小心得
    zookeeper与activemq最新存储replicatedLevelDB整合
  • 原文地址:https://www.cnblogs.com/yesuuu/p/8001436.html
Copyright © 2020-2023  润新知