在网络传输中要传输的数据往往是不定长的,一般我们可以分配足够的空间,使用某个字段用于记录传输的数据的长度。然后对数据压缩后再进行传输。
定义数据结构
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,send
Data);
pData->dataSizse = strlen(sendData);
。。。。。。。。。
delete pData;
该数据结构:对于一块内存,开始记录了后面要传输数据的大小,紧接着是要传输的数据。是的数据比较紧凑,易于管理。
个人认为:分配的多余的空间使用数据压缩后,不会导致传输太多的无用数据。