Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 具有多个客户端的同一主机上的多播_C_Linux_Broadcast_Multicast - Fatal编程技术网

C 具有多个客户端的同一主机上的多播

C 具有多个客户端的同一主机上的多播,c,linux,broadcast,multicast,C,Linux,Broadcast,Multicast,我正在一台linux主机上工作,其中几个应用程序(目前为3个)正在与地址224.0.0.1上的多播进行通信。我设置了SO_REUSEADDR和IP_MULTICAST_循环。有时,它会按预期工作:1个应用程序发送数据,2个其他客户端接收具有相同数据的帧。但通常一个客户端读取同一帧2次,而另一个客户端则什么也没有收到 如何确保一个客户端不会多次读取同一帧,以便其他客户端也能接收到该帧 因为这样的网络话题对我来说是全新的,如果我在这里走错了方向,我愿意找到更好的方法。你在使用什么操作系统?Linux

我正在一台linux主机上工作,其中几个应用程序(目前为3个)正在与地址224.0.0.1上的多播进行通信。我设置了SO_REUSEADDR和IP_MULTICAST_循环。有时,它会按预期工作:1个应用程序发送数据,2个其他客户端接收具有相同数据的帧。但通常一个客户端读取同一帧2次,而另一个客户端则什么也没有收到

如何确保一个客户端不会多次读取同一帧,以便其他客户端也能接收到该帧


因为这样的网络话题对我来说是全新的,如果我在这里走错了方向,我愿意找到更好的方法。

你在使用什么操作系统?Linux Ubuntu 16.04我有一个模糊的怀疑,这不起作用-它在商业产品中处理,比如TibcoRV,通过在同一台机器上有一个本地守护进程将消息反射回进程,只有守护进程与多播接口交互。你知道更好的方法吗?带宽、流量等并不重要,因为它只是用于评估目的。我只选择了多播,因为我认为它是最好的。嗯,为什么不使用RabbitMQ扇出交换之类的东西,这样可以确保所有进程都能完整地获取消息。