最佳实践:在平台之间通过TCP / IP发送对象

时间:2013-11-18 14:13:33

标签: c# java .net winforms tcp

我想创建一个可以将对象发送到其他应用程序的应用程序。

一个将在.NET(C#Winforms)中开发,另一个在Java中开发。 .NET部件将在Windows客户端上运行,而Java客户端在具有低资源的Unix操作系统上运行(如智能手机)。

我正在寻找最佳实践,以便将这个Object(比方说Car)从我的.NET应用程序发送到Java应用程序。

我想我必须首先序列化我的Object,然后发送它然后我将不得不在Java端再次反序列化它。

我的主要标准:

  • 简单,但大多数重要:很好/聪明
  • 通用,如果可能的话。

我正在考虑序列化我的类Car并在另一个平台上使用相同的类结构,只需反序列化它,自动加载属性。

应用程序应该这样做。有一个数据库连接到其中一个平台,但这不是我的问题的一部分。

我在想JSON或XML序列化,但我不知道这是否是最好/最聪明的appproach。

我很高兴有任何建议。

2 个答案:

答案 0 :(得分:0)

我确实实现了一个跨平台的SSO框架,该框架在特定于平台的编组解析器之间使用JSON作为通用语言。

为了可读性和名称解析,可交换的命名空间和类名遵循Java common practices

此特定实现的选择载体是直接TCP / IP持久连接,但序列化/反序列化层应完全不知道它。

某些细节需要特别注意 - 例如,DateTime值。为了避免双方的假设,我采用了基于GMT 0,big endian作为参考格式。集合(数组,列表)也值得关注。

答案 1 :(得分:-1)

可以使用SOAP双方 - 各种Java工具可以生成/解析SOAP服务,与.NET相同。

如果您只想进行TCP / IP通信而无需开销 - 请在两端使用套接字API - 在任一端序列化和反序列化对象。

相关问题