SO_REUSEPORT に関するディスカッションで、次の質問がredditに投稿されましたが、回答はありませんでした。スタックオーバーフローが答えを知っているかどうか疑問に思っています。
これがマルチキャストとどのように相互作用するか誰か教えてもらえますか?
プログラムがマルチキャスト UDP メッセージをリッスンする必要があるアプリケーションを持っていますが、このプログラムは同じコンピューターで複数回起動される可能性があります。メッセージが来ると、すべてのリッスン プロセスがそれを取得する必要があります。
Linux では、SO_REUSEPORT を設定しなくても問題なく動作することに気付きました。私の理解が正しければ、SO_REUSEPORT を設定するのは間違っている可能性があります。UDP メッセージをプロセス間で分散させたくありません。コピーを取得するためのすべてのプロセス。ただし、OS X では、SO_REUSEPORT が設定されていない限り、プログラムの 2 回目の実行で空きポートを見つけることができません。
tl;dr: マルチキャストを使用する場合、SO_REUSEPORT を設定する必要がありますか?