1

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

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

我想知道是否有任何众所周知的编程技术可以使 UDP 通信更加可靠。我只弄清楚了两件事:

  1. 我丢弃了 recvmsg() 收到的所有小于 320 字节的数据包。
  2. 我用众所周知的页眉和页脚包围每个数据包,然后每次收到新消息时检查它们,但是数据包仍然可能在中间的某个地方损坏,对吗?

编辑: 我找到了一个 PGN 协议,但已知唯一的Linux 实现适用于 x86。这对我来说是部分解决方案,因为我也想在 ARM 架构上运行我的程序

4

1 回答 1

3

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

披露:我是 OpenPGM 的作者 \:D/

于 2011-02-10T19:29:38.473 回答