私は Java Socket の経験が限られており、すべて TCP を使用しています。私はUDPを学ぼうとしています。UDP マルチキャストを使用するマルチプロセス アプリケーションを実行しています。いくつかの簡単な調査 (およびこのトピックに関する初期の理解) の後、マルチキャストが適切なアプローチであると考えました。
比喩的に言えば、すべてのプロセスが同じ「部屋」を共有し、互いに「叫ぶ」必要があります。したがって、プロセス 1 が「こんにちは」というメッセージを送信すると、すべてのプロセス 2..n がそのパケットを受信し、その逆も同様です。
最初はすべて機能しているように見えましたが、バグがあることに気付きました (それを呼ぶことができる場合)。最初のプロセスを起動し、2 番目のプロセスを起動すると、最初のプロセスは 2 番目のメッセージを受け取りますが、その逆はありません。
私がMulticastSocket receive()
プロセス1で行うとき、それは効果DatagramPacket
的にそれをスタックから取り除き、プロセス2はそれがいつ行われるかを認識しないのだろうかと思っていましたrecieve()
か?