rt

解决方案 »

  1.   

    不会异常,因为本质char和unsigned char都是1个字节。最多解析的时候数据的值不正确。
      

  2.   

    你在发送的不是有一个长度嘛你得把char*里面的所有东西memcpy发.那边解释.说白了就是一个序列化一个反序死化.
      

  3.   

    网络不是看你char* 而是看里面二进制内容你用char *最好处理好 不然很容易出错.因为对方不知道你有好长.所以要做通信协议
      

  4.   

    结构体中有char*或BYTE*时send是没有问题的,send可以发送指定的内存块的内容,如果结构体中有char*,你可以先计算结构体中不同成员所占用的总字节数,分配一块内存后,再把该结构体中成员按顺序拷贝到这块内存中,接收的时候再按顺序按字节去解析
      

  5.   

    定长的char*是没问题的,不定长那肯定要有问题咯!
      

  6.   


    异常当然指的是使用的时候,结构体发送,无非是结构体指针转char*,结构体接收,无非是char*转结构体指针,这一句强转指令,无论如何都是不会出错的,只要能编译得过。
    接收到的数据肯定是要使用它的,不然发送数据有何意义。结构体里面的指针,发送到对端之后,不是可能,是肯定没有意义了。回楼上,char*在32位下就是4字节,在64位下就是8字节,什么叫定长的char*?