zoukankan      html  css  js  c++  java
  • gevent实现基于epoll和协程的服务器

    1.  导gevent中的猴子补丁,来把原来python自带的socket变成基于epoll的socket(解除阻塞问题)

    代码:

    # from gevent import monkey;monkey.patch_socket()   #猴子补丁,把我们python自带的socket替换掉,实现了一个封装了epoll的socket
    from gevent import monkey
    monkey.patch_socket()
    import socket
    import gevent

    server = socket.socket() #封装了epoll的套接字,可避开阻塞
    server.bind(('127.0.0.1',7788))
    server.listen(1000)

    def worker(conn):
    data = conn.recv(1024)
    if data:
    print(data.decode('utf8'))
    conn.send(data)
    else:
    conn.close()

    while True:
    conn,addr = server.accept()
    gevent.spawn(worker,conn)

    图例:
      
     

      

  • 相关阅读:
    Java-数组
    排序-冒泡排序
    排序-选择排序
    Java-基础
    Java-Html-session
    Java-API
    Tomcat-常用设置
    Tomcat目录结构
    TOMCAT-安装配置
    Java-public
  • 原文地址:https://www.cnblogs.com/cxhzy/p/10015906.html
Copyright © 2011-2022 走看看