代码之家  ›  专栏  ›  技术社区  ›  NT_

跨语言C语言与Java开发

  •  2
  • NT_  · 技术社区  · 15 年前

    你能给我一些建议,告诉我如何最好地确保两个应用程序(一个在C中,另一个在爪哇)是兼容的。 有效地交换数据?你遇到什么问题了吗?

    场景是点对点的,一个主机是服务提供者,另一个是服务使用者。

    9 回复  |  直到 15 年前
        1
  •  3
  •   kgiannakakis    15 年前

    看一看 protobuf 数据交换格式。.NET实现也是 available .

        2
  •  3
  •   alphazero    15 年前

    用于描述性数据的JSON和用于一般数据类型的XML。如果这对您来说不够有效,您需要滚动自己的编解码器来处理 byte ordering difference between C# and Java .

        3
  •  2
  •   Ken Wootton    15 年前

    我能给出的最好建议不是专注于特定的技术,而是花时间关注两者之间的接口(无论是Web服务、数据库还是其他完全的接口)。例如,如果它是一个Web服务,那么重点是创建一个清晰的WDSL文档。接口,接口,接口。在大多数情况下,试着忽略每一端的特定技术,而不是一些原型设计,以确保这两种语言都支持您的选择。

    此外,在主要障碍之外,不要把注意力放在效率上。专注于清晰。您可能会有两个团队(即不同的人)在这个接口的任一端工作。确保他们正确使用它远比让事情稍微快一点更重要。

        4
  •  2
  •   Wael Awada    15 年前

    如果有Java作为WebServer,可以使用JAX WS( https://jax-ws.dev.java.net/ )为.NET创建WebServices和WCF以连接到Java Web服务器。

        5
  •  1
  •   TLiebe    15 年前

    您可以使用XML之类的东西(这并不总是那么有效),或者您需要想出自己的专有二进制格式(高效,但要做的工作要多得多)。我将从XML开始,如果带宽出现问题,您可以随时切换到专有的二进制格式。

    像肥皂一样的东西 (Wikipedia) 同时支持C语言和Java语言。

        6
  •  1
  •   northpole    15 年前

    我们使用C.V/VB.NET为我们的Web界面和Java为我们的厚客户机。我们使用XML和Web服务在数据库和应用服务器之间进行通信。它工作得很好。

        7
  •  0
  •   Alexander Kjäll    15 年前

    确保使用定义良好的协议来通信数据,并编写测试以确保应用程序按照约定响应。

        8
  •  0
  •   Luke Foust    15 年前

    这是一个非常广泛的问题,但我建议将重点放在适用于这两个平台的标准上;XML或其他一些标准的序列化形式,如果服务需要互操作,可以使用REST。

        9
  •  0
  •   Jherico    15 年前

    如果使用XML,实际上可以将数据访问外部化为xpath语句,该语句可以存储在两个应用程序使用的共享资源中。这是一个开始。