用协程实现socket的多并发

server端

# from gevent import monkey
# monkey.patch_all()
# import socket
import gevent
from gevent import socket


def talk(conn):
    while True:
        msg = conn.recv(1024).decode('utf-8')
        conn.send(msg.upper().encode('utf-8'))


server = socket.socket()
server.bind(('127.0.0.1', 8001))
server.listen(5)
while True:
    conn, addr = server.accept()
    gevent.spawn(talk, conn)

 

client端

import socket
from threading import Thread


def talk():
    client = socket.socket()
    client.connect(('127.0.0.1', 8001))
    while True:
        client.send(b'hello')
        msg = client.recv(1024)
        print(msg)


for i in range(500):
    Thread(target=talk).start()

 

posted @ 2019-01-31 16:20  平平无奇小辣鸡  阅读(241)  评论(0)    收藏  举报