UNIX环境高级编程:网络编程常用函数及结构
副标题[/!--empirenews.page--]
#include <arpa/inet.h> int inet_aton(const char *strptr, struct in_addr *addrptr); //将strptr字符串转换成32位的网络字节序(二进制值--a.b.c.d->32)。 int_addr_t inet_addr(const char *strptr) //功能通上,返回地址。 in_addr addr; addr.s_addr = inet_addr("192.168.2.103"); char *inet_ntoa(stuct in_addr inaddr);//32位IP->a.b.c.d形式的 //将32位网络字节序二进制地址转换成点分十进制的串 a代表ASCII,n代表network。 网络、主机字节序转换函数 主机序转换到网络序: u_short htons (u_short short); u_long htonl (u_long hostlong); 网络序转换到主机序: u_short ntohs (u_short short); u_long ntohl (u_long hostlong); h(host),n(network),l(long),s(short) 通过主机名访问网络 主机结构体 struct hostent { char *h_name;//主机的正式名称 char *h_aliases;//主机的别名 int h_addrtype;//主机的地址类型 AF_INET int h_length;//主机的地址长度 char **h_addr_list;//主机的IP地址列表 } #define h_addr h_addr_list[0] //主机的第一个IP地址 struct hostent *gethostbyname(const char *hostname) socket 通用地址结构: struct sockaddr { u_short sa_family;//协议族 char sa_data[14];//地址协议 } Internet协议地址结构 struct sockaddr_in { short int sin_family;//协议族 unsigned short int sin_port;//端口号 struct in_addr sin_addr;//协议特定地址 unsigned char si_zero[8];//未使用,填0 } (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |