在網絡傳輸中要傳輸的數據往往是不定長的,一般我們可以分配足夠的空間,使用某個字段用于記錄傳輸的數據的長度。然后對數據壓縮后再進行傳輸。
定義數據結構
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;
該數據結構:對于一塊內存,開始記錄了后面要傳輸數據的大小,緊接著是要傳輸的數據。是的數據比較緊湊,易于管理。
個人認為:分配的多余的空間使用數據壓縮后,不會導致傳輸太多的無用數據。