哪种是最有效的序列化技术,必须与语言无关

Use*_*low 4 c# java serialization protocol-buffers kryonet

目前我正在启动一个项目,该项目需要从.net应用程序(c#app)序列化数据,并通过网络将其传递给基于java的服务器应用程序.因此,我想知道哪种序列化机制最有效,同时必须通过java应用程序来确定服务对象.

查询:

我听说protobuf比任何其他像xml这样的序列化要快得多.是否可以使用protobuf来完成上述要求?

在java中有新开发的名为"Kryo"框架的技术用于序列化,它比protobuf更有效,所以.net环境中的任何东西都必须与语言无关.

Mar*_*ell 5

是的,protobuf与语言无关.java版本由google提供,有多个C#实现(如果你想在两端使用非常相似的代码,我会推荐protobuf-csharp-port,如果你喜欢.NET代码看起来像惯用的.NET,我会推荐protobuf-net).

Re Kryo - 我真的不知道评论,但回答"更有效"问题的唯一方法就是测试它(同样:定义效率对你意味着什么:是序列化大小?CPU时间?资源用法?或......?).就个人而言,我会有点怀疑它会变小,但是:有一种确定的消防方式可以找到:你试试吧.

我不知道Kryo是否与语言无关,但我只能看到提到的Java.