
- Unix 套接字教程
- Unix 套接字 - 主頁
- Unix 套接字 - 什麼是套接字?
- Unix 套接字 - 網路地址
- Unix 套接字 - 網路主機名
- Unix 套接字 - 客戶端伺服器模型
- Unix 套接字 - 結構
- Unix 套接字 - 埠和服務
- Unix 套接字 - 網路位元組序
- Unix 套接字 - IP 地址函式
- Unix 套接字 - 核心函式
- Unix 套接字 - 幫助函式
- Unix 套接字 - 伺服器示例
- Unix 套接字 - 客戶端示例
- Unix 套接字 - 總結
- Unix 套接字有用資源
- Unix 套接字 - 快速指南
- Unix 套接字 - 有用資源
- Unix 套接字 - 討論
Unix 套接字 - IP 地址函式
Unix 提供了各種函式呼叫來幫助你操作 IP 地址。這些函式在 ASCII 字串(人們更喜歡使用)與網路位元組序列的二進位制值(儲存在套接字地址結構中的值)之間轉換因特網地址。
以下三個函式呼叫用於 IPv4 定址 −
- int inet_aton(const char *strptr, struct in_addr *addrptr)
- in_addr_t inet_addr(const char *strptr)
- char *inet_ntoa(struct in_addr inaddr)
int inet_aton(const char *strptr, struct in_addr *addrptr)
此函式呼叫將 Internet 標準點分形式中的指定字串轉換為網路地址,並將該地址儲存在提供的結構內。轉換後的地址將採用網路位元組排序(從左到右排序的位元組)。如果字串有效,則返回 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); (...)
in_addr_t inet_addr(const char *strptr)
此函式呼叫將 Internet 標準點分形式中的指定字串轉換為一個整數值,適合用作 Internet 地址。轉換後的地址將採用網路位元組排序(從左到右排序的位元組)。它返回一個 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"); (...)
char *inet_ntoa(struct in_addr inaddr)
此函式呼叫將指定的 Internet 主機地址轉換為 Internet 標準點分形式的字串。
以下為用法示例 −
#include <arpa/inet.h> (...) char *ip; ip = inet_ntoa(dest.sin_addr); printf("IP Address is: %s\n",ip); (...)
廣告