在windows下获取主机ip地址

在很多防火墙过滤规则中,都可以对

ip

地址进行过滤,实现访问控制。比如我们可以

通过设置规则,禁止对

ip

地址:

59.64.114.98

的访问。这个

ip

地址代表着

www.qq.com

ip

地址。

而对于普通用户来讲,他们并不知道这一串数字代笔着什么,相反,

他们更容易接受

www.qq.com

这样的域名。这就提出了一个问题,如何将主机名转化成

ip

名。

Windows

socket

库的

gethostbyname

提供了这样的功能,下面通过一个例子来详细说明:

 

 

这个例子将

www.qq.com 

这个域名解析成

ip

地址,

并且保存到

IPAddress

中。

程序运行

的结果表明,

www.qq.com

 

对应着两个

ip

地址,分别是

59.64.114.98

59.64.114.103. 

许多

现代的网站域名都对应多个

ip

。通过循环解析,就能得到它所代表的所有的

ip

 

145

行,

WsaRet 

WSAStartup(0x0101,&WsaData); 

所有使用

socket

的程序在使用

socket

之前必须调用该函数。

该函数的第一个参数指明请求使用的

socket

版本,

其中高字节

指明低版本,低字节指明高版本;操作系统利用第二个参数返回请求的

socket

的版本信息。

当一个应用程序调用

WSAStartup

时,

操作系统根据所请求的

socket

版本来搜索相应的

socket

库,然后绑定找到的

socket

库到应用程序中。以后应用程序就可以调用所请求的

socket

中的

socket

函数了。该函数执行成功返回

0. 

150

行,

gethostbyname

函数,用以根据主机名获取

HOSTENT

结构的主机其它信息。

关于这个结构体更相信的信息,可以参考

msdn

的介绍。

 

159

行,使用完

socket

的函数后,要及时关闭

WSACleanup();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值