结构体内包含string integer char,希望能给出相关的代码,谢谢了:)

解决方案 »

  1.   

    socket传送的都是字节流。
    所以你只要把要传送的对象转换的字节流,传输过去以后再还原成对象就可以了。说白了字节流就是两个内容,一个指针,一个指针指向的内容的长度。如果是传送结构体,你只要依次把record里的成员依次转换到一个上述指针指向的内容就可以了。需要特别注意的是,delphi的record是会做内部优化的,实际占用的内存及内存的机构你跟想想的会不一样。你应该用
    packed record
    而且string是一个动态管理的堆内存对象,用sizeof计算record的长度的时候并不包含string的真实长度,而是string的变量的长度,因此永远都是32。我想到的就是要注意上述问题。