xyjzsh

适合于网络传输的一种数据结构

在网络传输中要传输的数据往往是不定长的,一般我们可以分配足够的空间,使用某个字段用于记录传输的数据的长度。然后对数据压缩后再进行传输。

定义数据结构
typedef struct tagTransferData
{
   ///一些其他信息////
   DWORD dataSize;
   char buffer[1];//定义一个可变长度的数组
}Data,*PData;
使用:
PData pData = (PData)malloc(10000);
memset(pData,0,10000);
。。。。。。。。。
char sendData[]="good morning everyone!";
strcpy(pData->buffer,sendData);
pData->dataSizse = strlen(sendData);
。。。。。。。。。
delete pData;

该数据结构:对于一块内存,开始记录了后面要传输数据的大小,紧接着是要传输的数据。是的数据比较紧凑,易于管理。
个人认为:分配的多余的空间使用数据压缩后,不会导致传输太多的无用数据。

posted on 2010-12-21 10:45 呆人 阅读(564) 评论(1)  编辑 收藏 引用 所属分类: 数据结构

评论

# re: 适合于网络传输的一种数据结构 2010-12-21 20:08 isjk

试试 protobuf  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜