シンプルな UDP サーバーとクライアントがあります。
クライアントは DGRAM ソケットを作成し、それを (明示的に) バインドし (必要でなくても)、getsockname() (ゼロ以外) を使用してバインドされたポートを出力し、(sendto() を介して) メッセージを送信します。正常に配信されました。
サーバーは recvfrom() を使用してメッセージを受信します。メッセージは正しく受信されますが、送信者のポート番号は、受信した最初のメッセージでゼロです (私は ntohs() を使用しています)。2 番目のメッセージから、ポート番号が正しく表示されます (つまり、ソケットがバインドされていることをクライアントが示すのと同じ番号)。
何か案が?
更新: 私が解決した問題。以下の回答を参照してください。