套介面位址結構及IP埠轉換函式簡介

2021-05-24 11:46:06 字數 1690 閱讀 6427

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...