前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第11章 名字与地址转换

第11章 名字与地址转换

作者头像
_gongluck
发布2018-03-09 15:32:08
7680
发布2018-03-09 15:32:08
举报

域名系统(Domain Name System,DNS)主要用于主机名字与IP地址之间的映射。

代码语言:javascript
复制
#include <netdb.h>

const char *hstrerror(int err);  //全局h_errno被设置错误信息

struct hostent
{
char  *h_name;       //地址的正式名称
char **h_aliases;    //地址的预备名称的指针
int    h_addrtype;   //地址类型
int    h_length;     //地址的比特长度
char **h_addr_list;  //主机网络地址指针,网络字节顺序
};
struct hostent *gethostbyname(const char *hostname);
struct hostent *gethostbyname_r(const char *hostname, struct hostent *result, char *buf, int buflen/*8192*/, int *h_errnop);
struct hostent *gethostbyaddr(const char *addr, socklen_t len, int family);
struct hostent *gethostbyaddr_r(const char *addr, int len, int type, struct hostent *result, char* buf, int buflen/*8192*/, int* h_errnop);

struct servent 
{
char  *s_name;     //正规的服务名
char **s_aliases;  //一个以空指针结尾的可选服务名队列
int    s_port;     //连接该服务时需要用到的端口号,返回的端口号是以网络字节顺序排列的
char  *s_proto;    //连接该服务时用到的协议名
};
struct servent* getservbyname(const char *servname, const char *protoname);
struct servent* getservbyport(int port, const char* protoname);

struct addrinfo 
{
    int ai_flags;      /*in*/
    int ai_family;     /*in*/
    int ai_socktype;   /*in*/
    int ai_protocol;   /*in*/ /*IPPROTO_TCP/IPPROTO_UDP*/
    socklen_t ai_addrlen;
    struct sockaddr *ai_addr;
    char *ai_canonname;
    struct addrinfo *ai_next;
};
int getaddrinfo(const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result);
const char* gai_strerror(int error);     //getaddrinfo的返回值做参数
void freeaddrinfo(struct addrinfo* ai);  //形参是链表头
int getnameinfo(const struct sockaddr* sockaddr, socklen_t addrlen, char* host, socklen_t hostlen, char* serv, socklen_t servlen, int flags);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年11月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档