Java和C+之间是否有消息传递服务+;比如Java到Java的JMS?

Java和C+之间是否有消息传递服务+;比如Java到Java的JMS?,java,c++,messaging,Java,C++,Messaging,我非常了解Java消息传递服务(JMS),它将消息从Java代码发送到Java代码。我还了解CORBA,它是一种集成编程,有助于将不同的编程语言绑定在一起,以便它们可以通过对象在它们之间进行通信 但是我想知道是否有一个通用的消息服务,比如JMS,用于不同的语言,以便从java发送消息到C++,反之亦然。 < P>查看 您既有Java/C++代理实现,也有Java/C++代理实现和其他一些语言可以交换消息。HornetQ有一个STOMP和REST实现,其他语言可以使用它: 试着看看29种西方(In

我非常了解Java消息传递服务(JMS),它将消息从Java代码发送到Java代码。我还了解CORBA,它是一种集成编程,有助于将不同的编程语言绑定在一起,以便它们可以通过对象在它们之间进行通信

<>但是我想知道是否有一个通用的消息服务,比如JMS,用于不同的语言,以便从java发送消息到C++,反之亦然。

< P>查看


您既有Java/C++代理实现,也有Java/C++代理实现和其他一些语言可以交换消息。

HornetQ有一个STOMP和REST实现,其他语言可以使用它:

试着看看29种西方(Informatica)产品,比如UMP。没有中间的中间器具。与Tibco RV相似。使用广播、多播和单播。 .
它不需要任何经纪人。每个通信参与者都应该安装将运行传输守护进程的UMP。对于java,有一个实现JMS规范的lib,它允许通过传输实现上游和下游消息。

看一看。它有很多功能。

如果你不想为此设置一个特殊的服务器(也不想弄乱复杂的怪物,即CORBA),请查看Google协议缓冲区


您只需通过套接字发送所有内容(如果需要,甚至可以连接到您自己),无需额外的服务器或配置。

我强烈建议您从开始,除非您需要基于代理的体系结构(例如基于代理的实现)提供的某些功能(例如RabbitMQ)

0个有很多绑定,包括java、C++、C++、C,但是它是基于消息的,所以在不同语言之间传输对象可能会更好地支持OpenDDS之类的东西。看

实现,从基本到复杂;e、 g


您可以查看Spread API(www.Spread.org),看看它是否符合您的要求。

我知道您可以完成这项工作。我们通常使用协议缓冲区跨线路序列化对象。XML可以工作,但主要的是,你不希望语言中任意一个随机的块都被用来表示你的对象在网上,你想要一个已知的序列化格式。

< P>数据分发服务(DDS)是OMG的标准,是CORBA规范的同一组。标准化的语言绑定是C,C++,Java和Ada,但C#和其他也可以使用。系统中可以混合使用不同的语言和操作系统。要分发的结构化数据类型是以语言无关的格式指定的(标准是OMG IDL的子集),然后将其转换为应用程序使用的特定于语言的接口和数据类型

DDS规范支持许多高级数据管理功能,如强类型和内容感知数据总线、分布式状态管理和历史数据访问。其丰富的服务质量设置允许将大量复杂的应用程序卸载到中间件

DDS实现通常具有高度可扩展性和分散性。参与DDS基础设施的组件在空间和时间上都是解耦的。一些DDS产品部署在许多任务和业务关键型系统中


有关非常简要的介绍和参考文献列表,请参阅。我已经从事DDS专业10多年了,我仍然喜欢它,我认为它是最有用的技术之一。

TIBOCRV,它有很多接口,如java、C++、C++、.NET等等。

另一个建议是。在它的包中,它包括C头文件和可以链接C/C++程序的库文件