linux网络编程常用转换函数api
1. 点分十进制IP地址与二进制IP地址转换:
inet_addr()函数将点分十进制的字符串转换为32位的网络字节顺序的IP信息。
inet_network()函数将点分十进制的字符串转换为32位的主机字节顺序的IP信息。
inet_ntoa()函数将32位的网络字节顺序的IP信息转换成点分十进制的字符串方式。
inet_aton()函数将点分十进制的字符串方式IP信息转换成32位的网络字节顺序。
2. 通过IP地址获取网络ID和主机ID:
inet_lnaof()函数从某个IP地址中提取标准的主机ID。
inet_netof()函数从某个IP地址中提取标准的网络ID。
inet_makeaddr()函数将主机ID和网络ID组合成一个IP地址。
3. 域名与IP信息解析:
3.1 通过域名返回主机信息
gethostbyname()函数实现指定域名主机的地址信息。
gethostbyname2()函数将根据地址类型返回。
3.2 通过域名和IP返回主机信息
gethostbyaddr()函数通过IP地址返回某主机的信息。
3.3 获取主机信息
getaddrinfo()函数完成主机名到地址的解析。
4. 控制socket文件描述符属性
4.1 set/getsockopt()修改socket属性
4.2 fcntl控制socket:
控制socket为非阻塞方式;flag|=O_NONBLOCK;
设置socket为信号驱动型socket;flag|=O_ASYNC;
使用F_SETOWN选项设置socket的拥有者以接收SIGIO和SIGURG信号。
使用F_GETOWN获取某socket的拥有者。
4.3 ioctl控制文件描述符
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步