python-gevent模組實現socket大並發

來源:互聯網
上載者:User

標籤:byte   net   finally   col   協程   pytho   TE   host   .sh   

伺服器端:gevent_server.py

import sysimport socketimport timeimport geventfrom 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:", 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(8001)

 用戶端:socket_client.py

import socketHOST = ‘localhost‘  # The remote hostPORT = 8001  # The same port as used by the servers = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((HOST, PORT))while True:    msg = bytes(input(">>:"), encoding="utf8")    s.sendall(msg)    data = s.recv(1024)    #    print(‘Received‘, data)s.close()

 

python-gevent模組實現socket大並發

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.