zoukankan      html  css  js  c++  java
  • 使用 linux 的 epoll 的套接字

    1.  代码:

        import socket

        import selectors    #IO多路复用的选择模块

        epoll_selector = selectors.EpollSelector()  实例化一个和epoll通信的选择器

        server = socket.socket()

        server.bind(("127.0.0.1",8899))

        server.listen(1000)

        epoll_selector.register(server,selector.EVENT_READ,accept)    监听有无连接

        def accept(server):

          conn,addr = server.accept()

          epoll_selector.register(conn,selector.EVENT_READ,myread)  监听有无数据传输

        def myread(conn):

          recv_data = conn.recv(1024)

          if recv_data:

            print(recv_data)

            conn.send(recv_data)

          else:

            epoll_selector.unregister(conn)      关闭该监听

            conn.close()

          while True:

            events = epoll_selector.select()    查询准备好的事件

            for key,mask in events:

              callback = key.data    取出回调函数

              sock = key.fileobj    取出套接字

              callback(sock)       

        图例:
            


       

  • 相关阅读:
    PyCharm 2017.1.3版本破解
    Python 字典
    Python 列表和元组
    总结2016,展望2017
    使用MATLAB对图像处理的几种方法(下)
    使用MATLAB对图像处理的几种方法(上)
    忍不住想,我为什么要来大城市?
    学习技术的心得
    Net中的常见的关键字
    面向对象的JS(一)
  • 原文地址:https://www.cnblogs.com/cxhzy/p/9978082.html
Copyright © 2011-2022 走看看