C UDP服务器访问问题

标签 c linux networking udp icmp

假设您有一个 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/

相关文章:

c - 二进制文件的打开方式

c++ - 查找字符在标准输入文本中出现的次数

c - 为什么我会收到这些警告?

linux - 为什么这个 C++11 程序不会死锁?

c - linux附加文件

sockets - gforth 是否包含网络套接字功能?

MySQL无法连接远程服务器

c - RegEnumValue 的错误代码 87

linux - 如何使用多个参数进行 useradd

android - 如何通过 Web API 管理 Android 与外部设备的通信?