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

时间:2017-06-08 16:07:11

标签: c node.js sockets udp

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

在NodeJs中,我使用了dgram:

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

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

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

1 个答案:

答案 0 :(得分:2)

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

如果有一个单播数据包,它是否被传送到所有套接字或只是一个(以及哪一个)是实现定义的。