因为跨平台的原因,socket发送结构体会出现内存对齐的问题,所以希望直接把数据序列化在通过socket发送,现在我有2组数据,分别是char play[1024]="name1\,name2\,name3\,name4\,name5",
struct device_info{char Num[16];char ipvd[16];char Space1[16];char hdSpace1[16];char Space2[16];char hdSpace2[16];};
他们一个是数组,一个是结构体,我想把他们都序列化,并在最前方加上表示该数组或结构体长度的数据,应该怎么做呢,在接收端反序列化又该怎么做呢,哪位哥们能帮个忙!!
struct device_info{char Num[16];char ipvd[16];char Space1[16];char hdSpace1[16];char Space2[16];char hdSpace2[16];};
他们一个是数组,一个是结构体,我想把他们都序列化,并在最前方加上表示该数组或结构体长度的数据,应该怎么做呢,在接收端反序列化又该怎么做呢,哪位哥们能帮个忙!!
解决方案 »
- CReBar里的工具条位置如何规划
- 请问定义char型字符串时不加"\0"可以吗?
- tab控件右键得到标签索引号?
- 加载lib可以,可怎么只加载相应的dll,不拷贝lib到工程目录下?
- 哪裡有BoundCheck for VC6(SP5)版的下載?
- 水晶报表怎么打包发布啊,需要安装那些文件. VC++
- 如何改变tab stop的光标切换顺序?
- 定时器的ID在哪里指定?
- 当FindWindow()后,有没有可能对另外一个已经存在一个应用软件进行操作,比如给某个EDIT BOX附值?
- 如何实现浮动工具条?
- 不同字体,同一行,文字对齐,有没有相应的标准或函数?
- 求高手看一下程序,运行处理图像后自动关闭,不知道什么问题?
total_length 4字节
play_length 4字节
play 变长
device_info_num 16
...
做一个BYTE的buffer
然后把数据按着一定规则复制进去然后将buffer发送出去
对方根据通信协议解析出来形成自己的结构体