c - 多进程如何绑定到一个 udp 端口



我有两个应用程序,一个是基于C的,一个是基于NodeJs的。两个应用需要在一台 Centos 机器中处理来自同一端口的 UDP 消息。是否可以有 2 个程序绑定到同一个 UDP 端口并同时接收消息?

在 NodeJs 中,我使用了 dgram:

dgram.createSocket({type: "udp4", reuseAddr: true})

在 C 中,我使用 SO_REUSEADDRSO_REUSEPORT参数作为设置套接字。

问题是:我无法在稍后启动的应用程序中收到任何UDP消息。这意味着只有一个应用程序可以接收 UDP 消息。任何帮助真的非常感谢。谢谢

在 UDP 套接字上使用 SO_REUSEADDRSO_REUSEPORT 仅适用于传入的组播或广播数据包。

如果单播数据包传入,它是传递到所有套接字还是仅传递到一个(以及哪一个(是实现定义的。

相关内容

最新更新