IPV6與char 字串型別互相轉換

2021-06-02 08:49:42 字數 960 閱讀 8528

使用in6_addr和in_addr轉化為字串型別

pctstr wsaapi inetntop(

__in   int family,

__in   pvoid paddr,

__out  ptstr pstringbuf,

__in   size_t stringbufsize

);

family = af_inet (ipv4)

family = af_inet6(ipv6)

paddr = in_addr * (ipv4)

paddr = in6_addr*(ipv6)

2. 將sockaddr轉化為字串

int wsaapi wsaaddresstostring(

__in      lpsockaddr lpsaaddress,

__in      dword dwaddresslength,

__in_opt  lpwsaprotocol_info lpprotocolinfo,

__inout   lptstr lpszaddressstring,

__inout   lpdword lpdwaddressstringlength

);

詳細用法:

3.示例(獲取ipv6位址非fe80位址)

void getlocalipv6(char *ipaddr)

// 第二次呼叫getadaptersaddresses 獲取實際想獲取的資訊.

if ((dwretval = getadaptersaddresses(af_inet6, 0 , null, paddresses, &outbuflen)) == no_error)

else

}pcurraddresses = pcurraddresses->next;

}}}

IPv4與IPv6的互操作性

雙棧主機的乙個基本特性是其上的ipv6伺服器既能處理ipv4客戶,也能處理ipv6客戶,這是通過ipv4對映ipv6位址實現的 ipv6伺服器建立乙個ipv6監聽套接字,ipv4客戶端通過gethostbyname找到伺服器的乙個a記錄,雖然ipv6伺服器有a記錄和aaaa記錄 ipv4客戶端只使用...

《網路程式設計》IPv4 與 IPv6 相互操作

由於網際網路終端不斷增加,ipv4 位址長度 32位 已不能夠滿足要求,所以出現了 ipv6位址 128位 但是現有應用程式大部分還是採用 ipv4 位址形式,所以必須解決 ipv4 與 ipv6 之間的相互操作,使現有基於 ipv4 的應用程式能夠與基於 ipv6 的應用程式相互通訊。那麼我們怎麼...

《網路程式設計》IPv4 與 IPv6 相互操作

因為網際網路終端不斷新增。ipv4 位址長度 32位 已不可以滿足要求。所以出現了 ipv6位址 128位 可是現有應用程式大部分還是採用 ipv4 位址形式,所以必須解決 ipv4 與 ipv6 之間的相互操作,使現有基於 ipv4 的應用程式可以與基於 ipv6 的應用程式相互通訊。那麼我們怎麼...