私は教科として本当に基本的な「画像ストリーミング」サーバーに取り組んでおり、ほとんどの作業を行っていますが、データと制御関連のソケットの分離に固執しています。
私の構造は次のとおりです。TCPServer(サーバー、制御ソケットとして使用)にはdataSocketが含まれています(特定のクエリを受信したときに、画像の送信にのみ使用され、TCPServerオブジェクト内で初期化されます)
dataSocketを介してデータ(画像)を送信する場合でも、クライアントがPAUSEまたはSTOP要求を送信したかどうかを確認する必要がありますが、Pythonを使用する場合self.request.recv(1024)
、サーバーはデータの送信を続行する代わりに応答を待機します(これは非常に論理的です) 。
この動作を防ぐにはどうすればよいですか?別のスレッドで起動recv(1024)
し、各ループで実行する必要がありますか(2回の反復の間に関連データを取得するかどうかを確認します)?