我正在使用 C++ 和 Qt 实现消息传递系统。经过深思熟虑,我确定多播或多播风格的技术最能解决我的问题。但是,我了解到 UDP 的不可靠性并认为这是 Not Acceptable 。

我的要求如下:

  • 消息将以二进制序列化形式发送。
  • 从网络上的任何给定节点,我必须能够向其他节点发送消息。
  • 消息传递必须投保。

  • 我听说 OpenPGM 和 NORM 作为 UDP 的替代品。如果有人有这方面的经验,可以分享一下吗?

    我也愿意在应用程序层中自己实现“可靠”多播的可能性,但如果有一个库已经实现了这一点,我不希望这样做。

    我使用的是 C++ 和 Qt,因此不接受 .NET 或基于 Java 的解决方案,除非它们是开源的并且我可以将它们移植到 C++。

    非常感谢你。

    编辑 20120816T1853 MDT: 另一个问题:是否必须在硬件/IP 级别实现 PGM 或 NORM?或者它们可以覆盖在现有协议(protocol)之上吗?

    最佳答案

    我们已经在 UDP 上实现了我们自己的可靠多播协议(protocol) RSP ,因为我们需要一些跨平台的东西,当时在 Linux 和 Windows 之间找不到好的解决方案。 Windows PGM 实现会断开离开发送窗口的慢速客户端,而我们的实现会像 TCP 一样限制发送器。 Afaik OpenPGM 可以配置为执行相同的操作。

    关于c++ - 本地网络上的可靠组播,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11992567/

    10-10 22:16