我想创建一个可以将对象发送到其他应用程序的应用程序。
一个将在.NET(C#Winforms)中开发,另一个在Java中开发。 .NET部件将在Windows客户端上运行,而Java客户端在具有低资源的Unix操作系统上运行(如智能手机)。
我正在寻找最佳实践,以便将这个Object(比方说Car)从我的.NET应用程序发送到Java应用程序。
我想我必须首先序列化我的Object,然后发送它然后我将不得不在Java端再次反序列化它。
我的主要标准:
我正在考虑序列化我的类Car
并在另一个平台上使用相同的类结构,只需反序列化它,自动加载属性。
应用程序应该这样做。有一个数据库连接到其中一个平台,但这不是我的问题的一部分。
我在想JSON或XML序列化,但我不知道这是否是最好/最聪明的appproach。
我很高兴有任何建议。
答案 0 :(得分:0)
我确实实现了一个跨平台的SSO框架,该框架在特定于平台的编组解析器之间使用JSON作为通用语言。
为了可读性和名称解析,可交换的命名空间和类名遵循Java common practices。
此特定实现的选择载体是直接TCP / IP持久连接,但序列化/反序列化层应完全不知道它。
某些细节需要特别注意 - 例如,DateTime值。为了避免双方的假设,我采用了基于GMT 0,big endian作为参考格式。集合(数组,列表)也值得关注。
答案 1 :(得分:-1)
可以使用SOAP双方 - 各种Java工具可以生成/解析SOAP服务,与.NET相同。
如果您只想进行TCP / IP通信而无需开销 - 请在两端使用套接字API - 在任一端序列化和反序列化对象。