我有一个用 python-twisted 编写的客户端,它将一个 UDP 数据包发送到 IP aaa.bbb.ccc.ddd 的端口 1234,然后等待响应。我还有用 C-libuv 编写的 UDP 服务器,它侦听端口 1234 并响应客户端。
现在,当它们都在同一台机器上运行时,我可以从 UDP 服务器的日志中看到它接收到数据并且它已经发回了响应。但是客户端的日志没有显示任何收到任何 UDP 数据包的迹象。
当我使用wire-shark进行调查时,我发现了以下内容:
客户端的 UDP 数据包使用源端口 58963(不断变化)发送到端口 1234 的目标
UDP 响应(来自 UDPserver)也从 58845 发送回 58963
其后是 ICMP Destination unreachable (Port unreachable) msg。
这种行为的原因可能是什么?