日期:2014-05-20  浏览次数:20639 次

socket服务器和客户端传输的数据格式。请知道大概相关的都来帮忙一下,我搞得头都大了。
本帖最后由 listenx5 于 2013-04-07 04:31:57 编辑
服务器用java做的。客户端用c#做。用tcp协议

我用的传输办法是:将需要传输的对象序列化为xml字符串传输到另一端后反序列化。

java用XStream来序列化对象,c#用的是XmlSerializer。

不过发现这两个东西序列化对象不是按同一标准来序列化的。

例如:java:  Object o=new String("aa");
把o序列化后结果是  <string>aa</string>

而 c#:  Object o=new String("aa");
把o序列化后结果是  <anyType xsi:type="xsd:string">aa</anyType>

这样就不能直接把接收到的xml字符串进行反序列化了。

或者说 大家有其他 关于跨语言对象传输的办法吗。请分享一下。




游戏服务器 对象传输 序列化 跨语言对象传输 服务器客户端通信

------解决方案--------------------
自定定一套序列化对象的规则,两边按自己的规则序列。将对象打包成xml形式
------解决方案--------------------
c/s端都用同一个xml 都能解和生成 就OK了,无非是定义个格式的事。
------解决方案--------------------
socket通信协议,最好定义一套通用的数据传输方式。不要搞一些平台特有的或业务相关性强的协议。
------解决方案--------------------
Java很多序列化工具可以设置自己的格式,不用默认的就可以了。
看看API说明。