server.py 輸入socketserverの クラスMyServerを(socketserver.BaseRequestHandler): デフハンドル(自己): しばらく真: CONN = self.request しばらく真: データ = conn.recv(1024 ) の場合、STR(データ、' UTF8 ')== " Q ' : ブレーク・ プリント(STR(データ、' UTF8 ' )) INP =入力(' >>> ') conn.send(バイト(INP、' UTF8 ' )) はconn.close() もし __name__ == ' __main__ ' : サーバ = socketserver.ThreadingTCPServer((' 127.0.0.1 '、8000 )、MyServerを) server.serve_forever()
client.py インポートソケット SK = socket.socket() アドレス =(' 127.0.0.1 '、8000 ) sk.connect(アドレス) 一方TRUE: INP =入力(' >>> ' ) 場合 INP == ' Q ' : プリント(' バイバイ' ) ブレーク sk.send(バイト(INP、' UTF8 ' )) データ = sk.recv(1024 ) プリント(STR(データ、'UTF8 "))
パース:server.py最初のモジュールsocketserver呼び出し、独自のの確立と継承クラスMyServerをSocketServer.BaseRequestHandlerの、クラスの書き換えハンドラメソッドサーバー= socketserver.ThreadingTCPServer((「127.0.0.1 」、8000 )、MyServerをします) IPアドレス、ポートとプロトコルのカプセル化を実現するためには、ユーザー自身のチャット用のコードが同時にメソッドを達成するためにハンドルに書き込まれ、プログラムの実行は、プロセスコードの実行を処理するために行くことです。同時使用可能チャット。