我们目前有许多通过DCOM相互通信的C ++ / MFC应用程序。现在我们将更新应用程序,并且还希望用更现代的东西替换DCOM,这样更容易使用。但我们不知道是什么。你怎么想
修改
交换的数据不是其他人可能感兴趣的。它只是在不同计算机上运行的程序的不同部分之间的状态信息。
答案 0 :(得分:3)
有许多C ++消息库,从旧ACE到新的Protocol Buffers或Facebook(现在的Apache)Thrift或思科的Etch。
目前,我听到ZeroMq的好消息可能比你以前给你更多。
答案 1 :(得分:2)
DCOM
只不过是在涂抹系统上涂糖。
任何正确的消息传递系统都可以,并且可以让您实际发现交换消息的位置(这对于在等待中本地化故障点/性能瓶颈可能很重要)。
现在有两种典型的方法:
答案 2 :(得分:1)
我使用REST在C ++和Java上做了很多应用,我非常满意。 REST远非复杂的CORBA和SOAP,易于实现且灵活。我有一些学习曲线,用于将事物建模为CRUD,但现在看起来更加直观。
现在,对于C ++方面,我不使用特定的REST库,只使用cURL和XML解析器(在我的情况下,CPPDOM),因为C ++应用程序只是客户端,服务器是Java(使用Restlet框架) )。如果你需要一个,那么SO的另一个问题就是建议:
Can anyone recommend a good C/C++ RESTful framework
我还提到我决定使用XML是任意的,我正在认真考虑用JSON替换它。除非您特别需要XML,否则JSON更简单轻巧。 REST的优点在于,如果您愿意,您甚至可以同时支持这两种表示。
答案 3 :(得分:-1)
这取决于很多因素。它可以简单地由 .NET remoting 代替。此外,如果您打算以更标准的方式为其他组件提供服务, Web服务将是一个很好的选择。