原理:
1 インポートソケット 2 インポート時間 。3 4。 5。 DEF メイン(): 6 位ソケットを作成する 7。 tcp_server_socket = socket.socket(はsocket.AF_INET、socket.SOCK_STREAM) 8。 #結合ポート 9。 tcp_server_socket.bind((""、7890 )) 10 #はリスニング状態を設定する 。11 tcp_server_socket.listen(128 ) 12は #ノンブロッキングセット 13である (偽)tcp_server_socket.setblocking 14 15 new_client_list = リスト() 16 17 しばらく真: 18です time.sleep(0.5 ) 19。 試してみる: 20である new_client、CLIENT_ADDR = tcp_server_socket.accept() 21である 除くRET AS例外: 22は、 印刷(「----- -----いいえ、新しいクライアントが来ません「) 23 、他: 24 印刷(」----ない例外、その新しいクライアントの到着を意味----- 」) 25 #新規顧客のための非ブロッキングサービス 26 new_client.setblocking(偽) 27 #新しいのリストに生成されたソケット 28 new_client_list.append(new_client) 29 30 用 new_client_socket でnew_client_list: 31は、 試してみる: 32 recv_data = new_client_socket.recv(1024 ) 33である 除くRET AS例外: 34は 印刷(「----クライアントから送信されたデータにはありません----- 「) 35 他: 36 プリント(」-----異常でない、データ-----手段「) 37 位データが空に送信されていない場合、 38は IF recv_data: 39 プリント(」クライアントから送信されたデータ---- ----- 」) 40 #データが空の場合、クライアントが使用閉じる(呼び出すことを意味する) 41 、他: 42 new_client_socket.close() 43 new_client_list.remove(new_client_socket) 44 印刷(" ---- -----クライアントがオフになっている" ) 45 46です #ソケットを閉じる 47 )(tcp_server_socket.closeを