【发布时间】:2012-04-25 18:35:00
【问题描述】:
我有一个简单的 UDP 服务器和客户端。
客户端创建一个 DGRAM 套接字,绑定它(显式)(即使它不是必需的),使用 getsockname()(非零)打印出它绑定到的端口,然后发送一条消息(通过 sendto() ) 已成功交付。
服务器使用recvfrom() 接收消息。消息被正确接收,但发送者中的端口号为零接收到的第一条消息(我正在使用 ntohs())。从第二条消息中,端口号正确显示(即客户端显示它的套接字绑定到的端口号相同)。
有什么想法吗?
更新:问题由我解决。请参阅下面的答案。
【问题讨论】:
-
你在什么平台上运行这个?
-
解决了这个问题。问题已更新。