java 与 c++ 的socket通信过程中,如何将c++发送的结构体直接转成java bean类


我相信这个问题以前在csdn上也有人问过.
c++ 结构体

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

java Bean类

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

一个简单的想法就是
java 客户端 读取发送过来的字节数据 然后针对性的做大小字节变化,并取出多少字节复制给id或name
我主要想询问下有没有一种比较好直接能够read/Write Object的解决方案

java 通信 C++ socket

hhh2000 11 years, 6 months ago

这个玩意貌似叫protoBuffer,比较好的办法是,你得有一个第三方的描述性文件,描述这个结构,比如

<info type="info">
    <id  type="int32" />
    <name type="string" />
</info>

通信的两端必须得理解这个结构的,然后在传输的时候,序列化一下,在按照一定的规则读一下就OK。你可以看看google关于此方面的资料,你搜那个protoBuffer就是了。

vck226 answered 11 years, 6 months ago

Your Answer