Python ソケットに基づいてクライアント サーバー プログラムを作成しています。クライアントがサーバーにコマンドを送信し、サーバーが応答します。しかし現在、一部のクライアントはメッセージを他のクライアントにブロードキャストできるため、クライアントは同時に複数の応答を受信できます。
data = s.recv(1024)
上記のコード行は、サーバーから 1 つの応答のみを取得します。しかし、このようなwhileループを使用すると
while True:
data = s.recv(1024)
if not data: break
実際にdata=s.recv(1024)
は、データが残っていないときにプログラムをブロックします。プログラムをブロックしたくなく、接続で利用可能なすべての応答を一度に取得したいと考えています。誰でも解決策を見つけることができますか? ありがとうございました。