sockaddr in結構體簡介

2021-07-17 02:12:02 字數 754 閱讀 5733

sockaddr_in(在netinet/in.h中定義):

struct sockaddr_in ;

struct in_addr ;

typedef struct in_addr s_un_b;

struct s_un_w;

unsigned long s_addr;

} s_un;

} in_addr;

sin_family指代協議族,在socket程式設計中只能是af_inet

sin_port儲存埠號(使用網路位元組順序)

sin_addr儲存ip位址,使用in_addr這個資料結構

sin_zero是為了讓sockaddr與sockaddr_in兩個資料結構保持大小相同而保留的空位元組。

s_addr按照網路位元組順序儲存ip位址

sockaddr_in和sockaddr是並列的結構,指向sockaddr_in的結構體的指標也可以指向

sockadd的結構體,並代替它。也就是說,你可以使用sockaddr_in建立你所需要的資訊,

在最後用進行型別轉換就可以了bzero((char*)&mysock,sizeof(mysock));//初始化

mysock結構體名

mysock.sa_family=af_inet;

mysock.sin_addr.s_addr=inet_addr("192.168.0.1");

……等到要做轉換的時候用:

(struct sockaddr*)mysock

struct stat結構體簡介

在使用這個結構體和方法時,需要引入 struct stat這個結構體是用來描述乙個linux系統檔案系統中的檔案屬性的結構。可以有兩種方法來獲取乙個檔案的屬性 1 通過路徑 int stat const char path,struct stat struct stat int lstat cons...

struct stat結構體簡介

在使用這個結構體和方法時,需要引入 struct stat這個結構體是用來描述乙個linux系統檔案系統中的檔案屬性的結構。可以有兩種方法來獲取乙個檔案的屬性 1 通過路徑 int stat const char path,struct stat struct stat int lstat cons...

struct stat結構體簡介

在使用這個結構體和方法時,需要引入 struct stat這個結構體是用來描述乙個linux系統檔案系統中的檔案屬性的結構。可以有兩種方法來獲取乙個檔案的屬性 1 通過路徑 int stat const char path,struct stat struct stat int lstat cons...