我正在使用 C++ 和 Qt 实现一个消息传递系统。经过深思熟虑,我确定多播或多播风格的技术最能解决我的问题。但是,我了解到 UDP 的不可靠性并认为它是不可接受的。
我的要求如下:
- 消息将以二进制序列化形式发送。
- 从网络上的任何给定节点,我必须能够向其他节点发送消息。
- 消息传递必须有保险。
我听说过 OpenPGM 和 NORM 作为 UDP 的替代品。如果有人有这两种经验,可以分享一下吗?
我也对自己在应用层实现“可靠”多播的可能性持开放态度,但如果有一个库已经实现了这一点,我不希望这样做。
我正在使用 C++ 和 Qt,因此 .NET 或基于 Java 的解决方案是不可接受的,除非它们是开源的并且我可以将它们移植到 C++。
非常感谢你。
编辑 20120816T1853 MDT:另一个问题:PGM 或 NORM 是否必须在硬件/IP 级别实施?或者它们可以覆盖在现有协议之上吗?