最近在写socket编程,发现一个问题,在发送数据的时候。用什么方式来发送一个结构体比较安全。
我现在是用的最简单的方法强制转换,结果倒是正确的,我总觉得会有什么问题,但是没发现问题出现在什么地方,高手们能说说你们是怎样发送一个结构体到服务器的吗?

解决方案 »

  1.   

     发送结构体,客户端和服务端的结构体定义必须一样。只用过windows的通信,为了保证 结构体对齐,我在客户端和服务端都用
    #pragma pack(1)
    #prgma pack()其他编译器不知道
      

  2.   

    结构体不能直接发送,对于socket来说只有缓冲区数组来发送,编码和解码需要你自己两端做
      

  3.   

    两方都使用相同的内存对其方式就可以了。一般都是 #pragma pack(push, 1)
      

  4.   


    哥们你说的编码和解码,是不是就是讲结构体强制转换成char*。服务器接收到数据之后再强制转换回来。如果不是你的编码和解码的方法是怎么的,还有就是这样强制转换在什么地方会出现问题。。谢谢了。
      

  5.   

    貌似只能通过BYTE数组,强制转换来发送,等待高人共享经验