ソケット X で sendto() を使用して送信中に ICMP エラー (例: dest unreach.) を取得するには、そのソケット X で MSG_ERRQUEUE フラグを指定して recvmsg を呼び出すことができます。(OS = Linux)
recvmsg(X, &msg, MSG_ERRQUEUE);
このソケット X をポート Y にバインドしていますが、ポート Y と sendto() によって生成された ICMP エラーで udp パケットを受信できません。
MSG_ERRQUEUE フラグが設定されている場合、「通常の」udp パケットを受信できますか? または MSG_ERRQUEUE フラグを使用すると、recvmsg() は「エラー」キューからのみ受信できますか?
ありがとう