问题 什么是OpenSplice和RTI DDS实现的替代方案?


我对RTI DDS有很多经验,并在许多应用程序中使用过它。我最近开始使用OpenSplice与DDS合作,看看它是否是RTI的一个很好的开源替代品。我已经有了这两个对接头了一段时间,试图让消息在不同的实现之间来回传递无济于事。

每个人都推荐什么(如果有的话)其他DDS实施?我找到了其他如OpenDDS,但我真正想要的是一个与RTI兼容的良好DDS实现,支持C / C ++ / C#/ Java,并且是开源的。

我意识到OpenSplice符合这种描述,但我想要的不是那些。谢谢!


8855
2018-02-29 15:04


起源

好吧,看起来我已经回答了我自己的问题。虽然还有其他选择(例如OpenDDS),但我最终让RTI和OpenSplice应用程序很好地相互通信。因此,如果你偶然发现这个线程正在寻找替代方案,如果你想免费使用DDS,Prismtech的OpenSplice似乎就是这样。 RTI的实施更好,更清洁,更便携,但他们会向您收取大量现金。 - GlazedHam
RTI现在发布了一个开源社区版。您不再需要支付大量现金。您只是没有获得非社区版附带的真正有用的工具。 - cup


答案:


在最近的OMG会议上,OpenDDS展示了RTI和OpenSplice(以及其他DDS实现)的互操作性。


8
2018-03-27 19:19





OpenSplice DDS和RTI DDS之间没有相互通信的原因可能是一个非常简单的原因,即您可能没有将OpenSplice配置为使用DDSI作为其有线协议。

OpenSplice DDS目前支持两种协议:

  • DDSI,DDS互操作性线协议
  • RT-NET,一种针对硬实时应用程序的专有协议

最高版本5.x OpenSplice DDS配置为使用RT-NET作为默认协议。从v6.x开始,我们将默认值更改为使用DDSI。

您使用哪个版本的OpenSplice DDS?

也就是说,请注意OpenSplice DDS是开源的,并在LGPL下获得许可。

A +


2
2018-04-26 10:04





我首先开始尝试OCERA(参见下面的链接)RTPS的C实现(我甚至翻译成C ++)但它只是一个RTPS v1.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)。


2
2018-05-12 19:16