加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX环境高级编程:网络编程常用函数及结构

发布时间:2016-09-28 13:44:33 所属栏目:Unix 来源:站长网
导读:副标题#e# #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.
副标题[/!--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

}

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读