ubuntu:/usr/include/netinet/in.h
#includestruct in_addr;
struct sockaddr_in ;
①sin_len-結構體長度字段。
②sin_family-協議族字段。可取的值為:af_unix(本地通訊)、af_inet(ipv4)、af_int6(ipv6)
③sin_port-16位的埠號
④sin_addr-32位ip位址
⑤sin_zero-未使用備用
常見的套結構位址字段型別如下圖所示。
套介面為了使得api可以實現協議無關性,定義了乙個通用的套介面
ubuntu:/usr/include/x86_64-linux-gnu/bits/socket.h
#include struct sockaddr;
在使用套介面api時,通過將其它位址結構強轉成此結構,傳遞給api。
ubuntu:/usr/include/netinet/in.h
#includestruct in6_addr;
#define sin6_len
struct sockaddr_in6 ;
字段說明:
①sin6_family-位址族字段,在這裡取af_inet6
②sin6_flowinfo-流標字段。低20位為流標,高12位保留。
③sin6_scope_id-對於具備範圍的位址,該欄位標識其範圍,常見的是鏈路區域性位址的介面索引。
新的通用套接字位址結構
對與上述通用結構的幾點說明。
①sockaddr_storage-足夠大,可以容納任何套接字位址結構。
②sockaddr_storage需要強轉成其它型別,才可方位資料。
ubuntu:/usr/include/x86_64-linux-gnu/sys/un.h
/usr/include/linux/un.h
#includestruct sockaddr_un;
對與位址結構的說明
②sun_path-路徑名,為空字元結尾
ubuntu中無此結構
#includestruct sockaddr_dl;
此結構一般很少用到,這裡就不贅述
各個套結構位址結構的比較
Unix網路程式設計學習筆記 1 套接字位址結構
大多數套接字函式,都需要乙個指向套接字位址結構的指標作為引數,每個協議族都定義了自己的套接字位址結構。這些結構的名字都是以sockadd 開頭,並以對應每個協議族的唯一字尾結尾.ipv4套接字位址結構也稱為 網際套接字位址結構 所以套接字的位址結構名為 sockaddr in in 為 intern...
UNIX網路程式設計 三 套接字位址結構
1.ipv4套接字位址結構 ipv4套接字位址以sockaddr in命名,定義在標頭檔案中。位址結構 struct in addr struct sockaddr in 2.通用套接字位址結構 對於大多數套接字函式 比如 bind,connect,sendto等等 的引數通常是套接字位址結構的引用...
UNIX網路程式設計卷1 套接字聯網API
internet一詞有多種含義。一是網際網 internet 採用tcp ip協議族通訊的任何網路都是網際網,網際網路就是乙個網際網。二是網際網路 internet 它是乙個專用名詞,特指從arpanet發展而來的連線全球各個isp的大型網際網。三是作為名詞性修飾詞,這時應根據情況分別譯成 網際網路...