0
ここでは奇妙なことですが、私は2つのソケットを作成し、まったく同じアドレス(INADDR_ANY
)とポートにバインドします。iOS10で再使用されたソケットのメッセージを受け取ることができません
SO_REUSEADDR
が両方のソケットに設定されている場合、2番目のバインドはエラーEADDRINUSE
で失敗します。
SO_REUSEPORT
が両方のソケットに設定されている場合、すべてのバインドコールは成功しますが、最初のソケットだけがデータを受信できます。後でバインドするソケットはデータを受信しません。
私は現在iOS 10で作業していますが、Androidでは動作が異なると思われます。 誰もが同じ問題を抱えていますか?これは、iOSの意図した動作ですか?どのようにして最初のソケットを解放せずに2番目のソケットのデータを受け取ることができますか?