我有一个简单的 UDP 服务器和客户端。
客户端创建一个 DGRAM 套接字,绑定它(显式)(即使它不是必需的),使用 getsockname()(非零)打印出它绑定到的端口,然后发送一条消息(通过 sendto()),它是成功交付。
服务器使用 recvfrom() 接收消息。消息已正确接收,但发送者中的端口号为零接收到的第一条消息(我正在使用 ntohs())。从第二条消息中,端口号正确显示(即客户端显示它的套接字绑定到的端口号相同)。
任何的想法?
更新:问题由我解决。请参阅下面的答案。