1.在socket.listen()后创一个epoll对象   epoll = select.epoll()
2.将server_socket注册到epoll中        epoll.register( )
3. conn_dict = dict() 用来保存新的socket对象和对应的fd和关系     addr_dict = dict()用来保存      新的socket对象的ip端口和对应的fd和关系
3.while True:
5.epoll_list = epoll.poll()    创建一个epoll列表  epoll_list中是【(套接字的文件描述符, 状态),(···,····),(····,·····),】
4.遍历epoll列表  用两个变量fd,evevt接受 。
5.判断 if fd == server.socket.fileno():   说明是新连接
    把新的套接字注册到epoll中 epoll.register()
    conn_dict[new_socket.fileno()] = new_socket
     addr_dict[new_socket.fileno()] = new_addr             

     if even == select.EPOLLIN:    说明是连接的客户端发来消息了
    接受处理就好 
     如果客户机关闭了连接 :
                        epoll.unregister(fd)      从epoll中去掉这和套接字
                        conn_dict[fd].close()     关闭本次连接
                        del conn_dict[fd]         
                        del addr_dict[fd]


最新文章

  1. SSISDB3:Environments 和 Environment Variables
  2. Python的平凡之路(20)
  3. 数据可视化:Echart中k图实现动态阈值报警及实时更新数据
  4. Enabling CORS in WCF
  5. IceFig阅读笔记
  6. Redis 一:安装篇
  7. Ildasm.exe(MSIL 反汇编程序)
  8. ios改变系统默认样式
  9. Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
  10. BOM(2)
  11. UVALive 3177 Beijing Guards
  12. Django实现组合搜索
  13. .Net学习计划
  14. 20175223 实验一 《JAVA开发环境的熟悉》实验报告
  15. codeforces703B
  16. 在Eclipse中使用JUnit4进行单元测试(图文教程一)
  17. Appium Desktop 介绍及使用
  18. 自定义kafka Sink
  19. python 的弹框
  20. windows下使用GNU make命令报错的解决方法

热门文章

  1. SED 学习笔记
  2. Win(Phone)10开发第(7)弹,Extended Execution
  3. svn 连接超时,连接失败解决办法
  4. WinForm中的图表控件Chart
  5. log4j学习(二)不同类的日志输出到不同的文件
  6. Java基础学习篇---------继承
  7. 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
  8. Python 读取大文件的方式
  9. 哈夫曼树——c++
  10. TP5使用Composer安装phpoffice/phpspreadsheet,导出Excel文件