UNIX提供各種功能調用,這將有助於操縱IP地址。這些函數將ASCII字串和網路位元組有序的互聯網地址的二進位值(值存儲在套接字地址結構)。
有以下三個函數調用用於IPv4尋址:
(1) int inet_aton(const char *strptr, struct in_addr *addrptr):
此函數調用指定的字串轉換,在互聯網標準點標記,一個網路地址,並存儲的地址提供的結構。轉換後的地址將是網路位元組順序(位元組下令從左至右)。這將返回1,如果字串是有效的和錯誤0。
以下是使用示例:
#include <arpa/inet.h> (...) int retval; struct in_addr addrptr memset(&addrptr, '\0', sizeof(addrptr)); retval = inet_aton("68.178.157.132", &addrptr); (...) |
(2) in_addr_t inet_addr(const char *strptr):
此函數調用指定的字串轉換,在互聯網標準點標記,一個整數值,適合用作互聯網地址。轉換後的地址將是網路位元組順序(位元組下令從左至右)。這將返回一個32位二進位的網路位元組命令IPv4地址和INADDR_NONE的錯誤。
以下是使用示例:
#include <arpa/inet.h> (...) struct sockaddr_in dest; memset(&dest, '\0', sizeof(dest)); dest.sin_addr.s_addr = inet_addr("68.178.157.132"); (...) |
(3) char *inet_ntoa(struct in_addr inaddr):
此函數調用指定Internet主機的地址轉換為一個字串在互聯網標準點標記。
以下是使用示例:
#include <arpa/inet.h> (...) char *ip; ip=inet_ntoa(dest.sin_addr); printf("IP Address is: %s\n",ip); (...) |
上一篇:
Socket 網路位元組順序
下一篇:
Socket 核心函數