【问题标题】:persistence or serialization from java to C# Best way to send this object by TCP/IP从 java 到 C# 的持久性或序列化 通过 TCP/IP 发送此对象的最佳方式
【发布时间】:2013-09-17 02:28:32
【问题描述】:

从 Android Java 序列化对象并通过 TCP 发送到另一台计算机然后在 C# 中反序列化的最佳方法是什么?

我原本想使用 Java 序列化,但是我听说我无法在另一台计算机上用 C# 反序列化相同的文件。

我可以用 google 的 gson 库做到这一点吗?它将任何 Java 对象转换为 JSON 字符串。还是 XML 更好,比如使用 Xstream 库?

对象很简单,它只包含一个字符串和一个 SQLite 数据库对象,并将通过 TCP/IP 套接字从 Android 平板电脑发送到运行 Windows 7 的桌面计算机。

我没有使用 C# 或 .NET 的经验,有什么想法吗?

【问题讨论】:

  • 您要发送什么?一个小对象还是由多个对象、数据结构组成的大树……?
  • 不同的小对象,只有短字符串和一个数据库文件 SQLite 数据库
  • 又不想在C#Java一侧调用方法,在另一侧执行谁?
  • 我只是将数据库文件从 android 平板电脑传输到台式计算机,以便它可以更新 SQLite 数据库文件并稍后将其发送回来。文本文件是这样服务器可以识别数据库文件属于哪个平板电脑
  • 您可以使用套接字编程或 EJB 或 CORBA 等代理。

标签: c# .net json serialization


【解决方案1】:

在我的一个项目中,我为此使用了 Google ProtoBuf 格式。 http://code.google.com/p/protobuf/

ProtoBuf 是一种高度紧凑且高效的格式。它支持 C# 和 Java 等等。

详情请看这篇文章: http://www.codeproject.com/Articles/640249/Android-Fast-Communication-with-NET-Using-Protocol

【讨论】:

    【解决方案2】:

    另一个选择是 Apache Thrift。

    http://thrift.apache.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2020-02-20
      • 2019-06-29
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      相关资源
      最近更新 更多