Udp 局域网中的可靠组播通信

Udp 局域网中的可靠组播通信,udp,ip,multicast,reliability,Udp,Ip,Multicast,Reliability,我有一个在Linux上工作的网络应用程序。我想做的是让我的应用程序能够宣布它在LAN中的存在,然后通知其他应用程序一些更改。因为我不知道我的应用程序有多少实例已经在LAN中的其他主机上运行,所以我不能使用SCTP,多播通信是唯一的方法(或者您知道其他解决方案?) 我希望通过多播地址发送的结构具有固定大小(320字节)并包含二进制数据,实际上是数字和位标志的结构 我想知道是否有任何众所周知的编程技术,可以使UDP通信更可靠一点。我只想到两件事: 我删除recvmsg()接收的小于320字节的所有数

我有一个在Linux上工作的网络应用程序。我想做的是让我的应用程序能够宣布它在LAN中的存在,然后通知其他应用程序一些更改。因为我不知道我的应用程序有多少实例已经在LAN中的其他主机上运行,所以我不能使用SCTP,多播通信是唯一的方法(或者您知道其他解决方案?)

我希望通过多播地址发送的结构具有固定大小(320字节)并包含二进制数据,实际上是数字和位标志的结构

我想知道是否有任何众所周知的编程技术,可以使UDP通信更可靠一点。我只想到两件事:

  • 我删除recvmsg()接收的小于320字节的所有数据包
  • <>我用一个很好的页眉和页脚包围每一个数据包,然后每次收到新的消息时都检查它们,但是中间包的某个地方可能会损坏数据包? 编辑:
    我发现了一个PGN协议,但唯一已知的是在x86上工作。这是我的部分解决方案,因为我也想在ARM架构上运行我的程序

    您可以尝试将PGM移植到ARM,OpenPGM中没有太多要求,例如,它已经在IBM s390大型机上运行良好


    披露:我是OpenPGM
    \:D/

    的作者,数据包不会被损坏。如果它们到达应用层,它们将保持不变。为什么不使用ZeroConf或类似的协议呢?