この情報を探していて、他の場所には見つかりませんでした。 サーバーと固定数のクライアントでマルチプレイヤーゲームを構築しています。 クライアントはマルチスレッド化されています(ゲームロジックとビジュアライゼーション用に1つのスレッド、メッセージを受信する1つのスレッド)、サーバーから非同期にメッセージを受け取ることがあります。 通信はUDPを使用して達成されます。UDP Socket.receive()メソッドがマルチスレッド環境で使用されています
前者のスレッドがsocket.receive()メソッドを呼び出し、後者のスレッドがsocket.receive()も使用するループを通過するとどうなりますか?
具体的には、サーバからメッセージが到着し、2つのスレッドが同時に受信を待機している場合は、両方のスレッドでメッセージが受信されますか? そうでなければ、どのスレッドがパケットを受信するか定義されていますか?
両方のスレッドが同じソケットを使用していることに注意してください。
はい - GUIスレッドがピアから何かを求めている場合は、ネットワークスレッドに通知する必要があります。 –