typedef unsigned short sa_family;
#include
struct sockaddr{
sa_family_t sa_family; //位址族
char sa_data[14]; //位址值,實際可能更長
2.ipv4 「國際套介面位址結構」sockaddr_in
#include
struct in_addr{
in_addr_t s_addr; //32-bit 網路序
struct sockaddr_in{
sa_family_t sin_family; //af_inet
in_port_t sin_port; //16-bit 網路序
struct in_addr sin_addr;
char sin_zreo[8]; //unused
3.位元組排序函式——埠轉換
#include
uint16_t htons(uint16_t host16bitvalue);
uint32_t htonl(uint32_t host32bitvalue);
返回值:網路位元組序值
uint16_t ntohs(uint16_t net16bitvalue);
uint32_t ntohl(uint32_t net32bitvalue);
返回值:主機位元組序
4. ip位址 ——ascii字串與網路序二進位制值轉換
#include
int inet_aton(const char *strptr,struct in_addr *addrptr);
引數1:strptr是指向 ascii字串的指標 *指標如果為null仍然檢查有效性,但不儲存結果
引數2:addrpt是r指向 儲存32位網路序二進位制的指標
返回值:1——字串有效,0——無效
in_addr_t inet_addr(const char *strptr);
引數:strptr是指向 ascii字串的指標
char *inet_ntoa(struct in_addr inaddr);
返回:指向點分十進位制數串的指標
int inet_pton(int family,const char *strptr,void *addrptr);
引數1:af_inet af_inet6
引數2:strptr是指向 ascii字串的指標
引數3:addrpt是r指向 儲存32位網路序二進位制的指標
返回值:1——成功,0——輸入不是有效的表達格式,-1——出錯
const cahr *inet_ntop(int family,const void *addrptr,char *strptr,size_t len);
引數1:af_inet af_inet6
引數2:addrpt是r指向 儲存32位網路序二進位制的指標
引數3:strptr是指向 ascii字串的指標
引數4:#define inet_addrstrlen 16 ipv4
#defien inet6_addrstrlen 46 ipv6
返回值:成功——指標,出錯——null
鏈結 ip位址及埠號
encoding utf 8 python 2.7.10 xiaodeng 鏈結 即報文如何通過傳輸控制協議鏈結從乙個地方搬移到另外乙個地方 http權威指南 13頁 tcp ip http是應用層協議。http無需操作網路通訊的具體細節,他把聯網的細節都交給了通用 可靠的網際網路傳輸協議tcp i...
IP位址 網域名稱及埠號
ip是internet protocol 網際互連協議 的縮寫,是tcp ip體系中的網路層協議。是整個tcp ip協議族的核心,也是構成網際網路的基礎。ip規定網路上所有的裝置都必須有乙個獨一無二的ip位址,就好比是我們的手機號。同理,每個ip資訊包都必須包含有目的裝置的ip位址,資訊包才可以正確...
鏈結 ip位址及埠號
encoding utf 8 python 2.7.10 xiaodeng 鏈結 即報文如何通過傳輸控制協議鏈結從乙個地方搬移到另外乙個地方 http權威指南 13頁 tcp ip http是應用層協議。http無需操作網路通訊的具體細節,他把聯網的細節都交給了通用 可靠的網際網路傳輸協議tcp i...