gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:09 25 4
gpt4 key购买 nike

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

在 NodeJs 中,我使用了 dgram:

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

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

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

最佳答案

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

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

关于c - 多进程如何绑定(bind)到一个udp端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com