- 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); (...)
广告