day32-socketserver

SocketServerがソケットのパッケージに基づいて行われる、それはリアルタイムのサーバが複数のクライアントと通信できることができます。スレッドのスレッド:プログラムは、スレッドを持っているスレッドがCPUスケジューリングの最小単位です。プログラムは、スレッドが生成されません実行されません生成実行されます。あなたが複数のクライアントの要求を受け取るために、複数のスレッドを有効にした場合、我々は、並行処理の効果を達成することができます。

#1 サーバー:
インポートSocketServerの
 クラス(SocketServer.BaseRequestHandlerの)MyServerをする:   #は、親が継承する必要があり
    DEF:(セルフ)ハンドル                              connのためにあなたは、この関数を定義する必要があり、self.request同等
        しばらく真:
            MSG = self.request.recv(1024) .decode(' UTF-8 ' を印刷(MSG)
             IF MSG == ' Q '壊れ
            情報 =入力(' :サーバー' 
            self.request.send(info.encode(' UTF-8は' ))

場合 __name__ == ' __main__ ' 
    サーバー = socketserver.ThreadingTCPServer((' 127.0.0.1 '、8888 )、MyServerを)实例化对象=类()
    server.serve_forever() 

クライアント1:
インポートソケット
SK = socket.socket()
sk.connect((' 127.0.0.1 '、8888))

しばらく真:
    情報 =入力(' CLIENT1:' であれば情報== ' Q ' 
        sk.send(info.encode(' UTF-8 ' ))
         ブレーク
    sk.send(info.encode(" UTF-8 ' ))
    RET = sk.recv(1024).decode(' UTF-8 ' 、印刷(RET)

sk.close()

#1 CLIENT2:
インポートソケット
SK = socket.socket()
sk.connect(('127.0.0.1 '8888 ))

しばらく真:
    情報 =入力(' クライアント2:' であれば情報== ' Q ' 
        sk.send(info.encode(' UTF-8 " ))
         ブレーク
    sk.send(情報。エンコード(' UTF-8 ' ))
    RET = sk.recv(1024).decode(' UTF-8 ' 、印刷(RET)

sk.close()

 

おすすめ

転載: www.cnblogs.com/python-daxiong/p/11417772.html
おすすめ