我正在使用 C++ 和 Qt 实现一个消息系统。经过深思熟虑,我确定多播或多播风格的技术最能解决我的问题。然而,我了解到UDP的不可靠性并认为这是不可接受的。
我的要求如下:
- 消息将以二进制序列化形式发送。
- 从网络上的任何给定节点,我必须能够向其他节点发送消息。
- 消息传递must被保险。
我听说过 OpenPGM 和 NORM 作为 UDP 的替代品。如果有人有这方面的经验,可以分享一下吗?
我也对自己在应用层实现“可靠”多播的可能性持开放态度,但如果有一个库已经实现了这一点,我不希望这样做。
我使用的是 C++ 和 Qt,因此基于 .NET 或 Java 的解决方案是不可接受的,除非它们是开源的并且我可以将它们移植到 C++。
非常感谢。
编辑20120816T1853 MDT:另一个问题:PGM 或 NORM 是否必须在硬件/IP 级别实施?或者它们可以叠加在现有协议之上吗?
我们已经通过 UDP 实现了自己的可靠多播协议,称为RSP http://www.equalizergraphics.com/documents/design/multicast.html,因为我们需要一些跨平台的东西,而当时在 Linux 和 Windows 之间找不到好的解决方案。 Windows PGM 实现会断开离开发送窗口的慢速客户端的连接,而我们的实现则类似于 TCP 来限制发送方。 Afaik OpenPGM 可以配置为执行相同的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)