LAN中可靠的多播通信

时间:2011-02-08 10:19:14

标签: udp ip multicast reliability

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

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

我想知道是否有任何熟知的编程技术,这可以使UDP通信更可靠。我只想出了两件事:

  1. 我丢弃recvmsg()收到的所有数据包,这些数据包小于320字节。
  2. 我用知名的页眉和页脚包围每个数据包,然后每次收到新消息时检查它们,但是在中间的某个地方仍然可以损坏数据包?
  3. 修改 我发现了一个PGN协议,但是已知唯一的Linux implementation可以在x86上运行。这对我来说是部分解决方案,因为我也想在ARM架构上运行我的程序

1 个答案:

答案 0 :(得分:3)

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

披露:我是OpenPGM \:D/

的作者