我的頭文件structure.h
中有以下結構。現在我需要在我的main.c
文件中使用此結構。在TCP/IP套接字中發送客戶端到服務器的結構
我需要填充一些值的結構,我需要從TCP/IP客戶端發送到同一系統上的TCP/IP服務器。
#ifndef STRUCTURE_H
#define STRUCTURE_H
typedef struct
{
unsigned int variable3;
char variable4[8];
}NUMBER_ONE,*PNUMBER_ONE;
typedef struct
{
unsigned int variable5;
char variable6[8];
}NUMBER_TWO,*PNUMBER_TWO;
typedef struct
{
char name[32];
unsigned int a;
unsigned int b;
NUMBER_ONE variable1;
NUMBER_TWO variable2;
}NUMBER_THREE,*PNUMBER_THREE;
#endif
我都試過,但,我不擅長於C,所以請誰能告訴我該怎麼做,通過採取上述結構作爲例子嗎?直到套接字連接建立對我來說是好的, 但建立連接後,如何將這個結構從客戶端發送到服務器?
我在Linux Ubuntu 12.04系統中這樣做。
我不會那樣做,因爲不同的機器可能有不同的字節順序(Big Endian/Little Endian),結構打包等等,所以結構可能不會在另一邊正確解碼。您應該更好地使用交換格式,您可以設計自己的或使用多種現有格式之一(JSON,BSON,XML,AMF ...) – SirDarius
不要將結構用作網絡協議。你引入了六打左右的依賴關係。以八位字節定義一個有線協議,並編寫代碼發送和接收它。 – EJP