単一スレッドの使用コルーチンでは同時サーバーの効果を実現

輸入ソケット
 からスレッド輸入スレッド


クライアント = socket.socket()
client.connect((' 127.0.0.1 '、8080 ))

デフC(クライアント、I):
     しばらく真:
        client.send((' こんにちは%sの'%I ).encode(" UTF-8 " ))
        データ = client.recv(1024 プリント(data.decode(' UTF-8 ' ))

のための I における範囲(400 ):
    Tスレッド=(対象= C、引数=(クライアント、I))  クライアントマルチスレッド同時実行のアナログ 
    t.start()
クライアント
輸入ソケット
 から gevent 輸入から gevent 輸入サル; 

monkey.patch_all()


サーバー = socket.socket()
server.bind((' 127.0.0.1 '、8080 ))
(server.listen 5 


デフ話(CONN):
     ながら真:
         試す
            データ = conn.recvを(1024 )   等待客户端发消息阻塞态
            場合 LEN(データ)== 0:ブレーク
            プリント(data.decode(' UTF-8 ' ))
            conn.send(data.upper())
        を除くE AS ConnectionResetError:
             印刷(E)
             BREAK 
    はconn.close()


DEF C():
     一方TRUE:
        コネティカット、ADDR = server.accept()  クライアントのモニタを待機がブロッキング状態に接続されています
        スポーン(トーク、コネチカット)


S1 = スポーン(C)
s1.join()
サーバー

 

おすすめ

転載: www.cnblogs.com/le-le666/p/11357921.html