我有大量使用RTI DDS的经验,并在许多应用程序中使用过它。我最近开始使用OpenSplice来处理DDS,看看它是否是一个很好的开源替代方案。我已经有一段时间了,试图让消息在不同的实现之间来回传递,但都无济于事。
每个人都会推荐什么(如果有的话)其他DDS实现?我也发现了其他的DDS,比如OpenDDS,但我真正想要的是一个好的DDS实现,它与RTI兼容,支持C/C++/C#/Java,并且是开源的。
我知道OpenSplice符合这个描述,但我想要一个不同于此的描述。谢谢!
发布于 2012-03-28 03:19:32
在最近的OMG会议上,OpenDDS演示了与RTI和OpenSplice (以及其他DDS实现)的互操作性。
发布于 2012-05-13 03:16:42
我首先开始尝试RTPS的OCERA(参见下面的链接)C实现(我甚至翻译成了C++),但它只是一个RTPSv1.0协议实现,并不完全兼容DDS。具有讽刺意味的是,它是任何DDS实现都应该用来兼容(与可互操作的协议)的协议的第一个版本。
我相信你知道DDS的供应商页面,对吧?http://portals.omg.org/dds/where-can-i-get-dds/
我还没有尝试过OpenSplice,但它已经被用于许多军事应用程序(以及RTI),而且它是开源的(注册免费:D)。
OpenDDS的人对OMG的产品有着悠久的传统。其中一些不能互操作的OpenDDS传输是ACE (也许还有TAO,它是高效的CORBA语言实现)。很高兴知道他们终于有了互操作协议的选择,该死的!,它在2008年是什么样子?
我希望它是C#中的任何一个!...这促使我开发了一个(开源的) C#发布/订阅框架/中间件,使用Google Protocol Buffers作为有线格式,借鉴了DDS、JMS、TIBCO rendevouz和JGroups的一些想法。如果你感兴趣,请让我知道(我很快就会发布v2 )。
发布于 2013-04-26 18:04:39
DDSI DDS和RTI DDS不能相互通信的原因可能很简单,那就是您可能没有将OpenSplice配置为使用OpenSplice作为其有线协议。
OpenSplice DDS目前支持两种协议:
直到5.x版本的OpenSplice DDS都配置为使用RT-NET作为默认协议。从v6.x开始,我们将默认设置更改为使用DDSI作为默认设置。
您使用的是哪个版本的OpenSplice DDS?
也就是说,要注意LGPL是开源的,并且是在OpenSplice许可协议下授权的。
A+
https://stackoverflow.com/questions/9501499
复制相似问题