协程在Socket上的应用
生活随笔
收集整理的這篇文章主要介紹了
协程在Socket上的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Socket內部實現用的是多線程。
?
服務端
# coding=utf-8import sys import socket import time import gevent from gevent import socket, monkeymonkey.patch_all()def server(port):s = socket.socket()s.bind(('0.0.0.0', port))s.listen(500)while True:cli, addr = s.accept()gevent.spawn(handle_request, cli)def handle_request(conn):try:while True:data = conn.recv(1024)print 'recv:', dataconn.send(data)if not data:conn.shutdown(socket.SHUT_WR)except Exception as e:print efinally:conn.close()if __name__ == '__main__':server(8001)?
客戶端
# coding=utf-8import socket
HOST = 'localhost' PORT = 8001 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) while True:msg = raw_input('>>:')s.sendall(msg)data = s.recv(1024)print 'Received', data s.close()
?
轉載于:https://www.cnblogs.com/allenzhang-920/p/10633985.html
總結
以上是生活随笔為你收集整理的协程在Socket上的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络流小结
- 下一篇: ssm框架搭建和整合流程