关于结构体在网络通信中的应用,该怎么解决

关于结构体在网络通信中的应用
在做一个通信程序,传输数据的时候要先封包。协议头有时间戳,序列号,协议体长度,加密标记,拆分后数据包个数等,有16B,协议体(数据长度,实际数据),这个实际数据最多为1024B。对于这样的情况,使用结构体好,还是其他方法好?
------解决方案--------------------
一般均是使用变体的结构体


           Header header
           BYTE   buff[0];  

------解决方案--------------------
一般发送一包数据的时候,包头中数据体的长度,是要根据当前的数据体实时计算出来的
------解决方案--------------------
结构体是常用的方法,关于包头包体定义以及接收发送问题,详见 
http://bbs.csdn.net/topics/390864214

------解决方案--------------------
可以收一个解析一个再写入文件或者一个公有的缓冲区,也可以全部接收完放入一个临时缓冲,最后再同一解析,考虑到I/O写入速度较数据接收可能要慢,建议全部接收完所有包再做解析
------解决方案--------------------
这要看你的数据是干什么用的,如果是文件传输之类的,你就设置一个4096的缓冲或者更大的,每当缓冲满时你就写入文件,并清空缓冲,等待下次写入,如果是聊天之类的程序,发送的是字符串,可以把缓冲设置小一点