假设您有一个 UDP 服务器在 Linux 上的端口 9030 上运行,并且您无法以某种方式访问该 UDP 服务器。没有防火墙或类似设置阻止访问该 UDP 端口。并且还请知道数据包到达操作系统的网络堆栈。当 O.S.收到数据包,它立即发送目标端口不可达的 ICMP 数据包。令您惊讶的是,netstat 输出显示 UDP 服务器正在您指定的确切端口上运行,如下所示:
udp 0 0 212.253.35.111:9030 0.0.0.0:* 722/udpServerApp
另请注意,UDP 服务器监听公共(public) IP,而不是本地主机等。这意味着数据包到达该公共(public) IP 地址。
那么可能出了什么问题呢?你最好的猜测是什么?我真的很困惑。
最佳答案
您可能没有在正确的地址上收听 - 例如监听 127.0.0.1
(本地主机)而不是“任何”地址。 netstat 的确切输出会告诉你(但你没有发布它并要求猜测,所以在这里)。
关于C UDP服务器访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569755/