【问题标题】:C++ and Java objects communicationC++ 和 Java 对象通信
【发布时间】:2010-09-01 16:18:45
【问题描述】:

我需要在我的应用程序中建立 C++ 层和 Java 层之间的通信模型。最初,我计划将 SOAP 与 XML 结合使用,但我的客户有兴趣建立一个数据库通信通道。

我是 DB 新手,不知道如何继续。我想听听您对使用数据库实现C++和Java层之间的对象通信的真诚建议。

谢谢, 呸

【问题讨论】:

  • 这两层如何与数据库交互?您需要从 Java 调用 C++ 代码还是反过来?
  • 不希望在Java层建立对象数据库,从C++层查询细节并填充对象属性。
  • 让您的客户相信 CORBA 将是一种不那么受虐的方法。
  • 您是否正在尝试将对象从 C++ 转换为 Java(即,将 C++ 字符串转换为 Java 字符串,反之亦然)?

标签: java c++


【解决方案1】:

数据库作为通信? 颤抖

http://en.wikipedia.org/wiki/Database-as-IPC

这是一种反模式。你能改变客户的想法吗?

套接字比成熟的 SOAP 接口更容易。

【讨论】:

    【解决方案2】:

    如果您有 2 个不同的应用程序进行通信,那么套接字就是最佳选择。如果你的 C++ 层更像是一个库,你也可以使用 JNI(http://en.wikipedia.org/wiki/JNI,google for tutorials)。

    【讨论】:

      【解决方案3】:

      通信通道和阻塞模型的选择很大程度上取决于应用程序,但如果您不需要担心安全性,套接字可能会工作得最好。 SSL/Mutual auth 是您的下一步。

      我自己推出了自己的产品,但如果我必须再做一次,我会使用 google 协议缓冲区。 http://code.google.com/p/protobuf/

      它们似乎捕获了人们想要从 ASN1 中得到的大部分内容(但并非全部搞砸了),并且让您可以做人们经常尝试通过序列化 java 属性来做的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-15
        • 1970-01-01
        • 2013-05-23
        • 2013-03-04
        • 2016-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多