python-以协程gevent方式构建socket

2021/11/28 12:39:50

本文主要是介绍python-以协程gevent方式构建socket,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Vergil Fu

import sys,socket,time,gevent
from gevent import socket, monkey

monkey.patch_all()
def server(port):
    s = socket.socket()
    s.bind(('0.0.0.0', port))
    s.listen(5000)
    while True:
        cli, addr = s.accept()
        gevent.spawn(handle_request, cli)#############################建立协程
def handle_request(conn):
    try:
        while True:
            data = conn.recv(1024)
            print("recv:", data)
            conn.send(data)
            if not data:
                conn.shutdown(socket.SHUT_WR)
    except Exception as  ex:
        print(ex)
    finally:
        conn.close()
if __name__ == '__main__':
    server(8090)



这篇关于python-以协程gevent方式构建socket的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程