域名解析

 在socket编程的时候,经常会需要讲某个域名解析成ip以便建立连接.

这里简单得给出一种用c语言,socket函数写的解析方法,也是比较简单的一种方法。 (windows平台下)

首先当然是加载一下套接字必要的库.

 

WSAData wsa;

WSAStartup(MAKEWORD(2,2),&wsa);

然后,通过域名获取一个指向hostent的指针。

hostent* host=gethostbyname("www.zeroplace.cn");

 

其实到这里我们要取得的信息已经存在于这个结构里面了,我们要做的就是从这个结构里面得到ip信息.

 

printf("name:%s\n",host->h_name);

 

for(int i=0;(host!=NULL) && host->h_addr_list[i]!=NULL;i++)

{

printf("IP:%s\n",inet_ntoa(*(in_addr*)host->h_addr_list[i]));

}

这样就把一个ip转化为ip了。

域名转ip,这算是一种简单的做法。也可以自己发送报文到域名服务器获取ip。

这种方法参见我的另一篇文章.

c语言实现域名解析

 



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 9781