我主要是想询问下有没有一种直接能够read/Write Object的解决方案,如果有,是怎样的?

c++ 结构体

struct Info { 
    int id;    char name[20];
};

java Bean类

class Info {    private int id;    private String name;    //Getter Setter}

一个简单的想法就是
java 客户端 读取发送过来的字节数据 然后针对性的做大小字节变化,并取出多少字节复制给id或name


鸿蒙传说
浏览 94回答 2
2回答

白衣非少年

纯粹struct的话,两边统一下字节对齐和字节序,使用二进制协议也可以.你可以把要传输的这段内容看成是一个很长的字符串。当然,java在解释二进制的结构体的时候,你是不能直接像c/c++一样, (struct xxx*)buff就完成转换,可能需要你深刻理解c++的内存layout,这相对复杂了。实际上,通用的做法是实用一个第三方的标准编码,和语言无关的,比如google开源的 protocbuffer,以及平常我们用的json,xml都是可以的。

慕姐4208626

这个玩意貌似叫protoBuffer,比较好的办法是,你得有一个第三方的描述性文件,描述这个结构,比如<info&nbsp;type="info"> &nbsp;&nbsp;&nbsp;&nbsp;<id&nbsp;&nbsp;type="int32"&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;<name&nbsp;type="string"&nbsp;/> </info>通信的两端必须得理解这个结构的,然后在传输的时候,序列化一下,在按照一定的规则读一下就OK。
打开App,查看更多内容
随时随地看视频慕课网APP