MFC获取主机IP
2013-01-09 11:48
225 查看
通常获取ip地址有两种方法,第一种为借助socket用ioctl的方法读取本机的ip地址,但是由于该方法需要输入接口的名称,如,eth0,eth1,br0,eth0.97等等,这对于只需要简单的获取本机ip的需求来说还是过于复杂,本为通过gethostname函数和gethostbyname函数结合,获取本机ip地址则显得更为简单。它的基本原理就是从文件/etc/hosts中读取和你主机名字相匹配的ip地址。
示例代码如下:
#include <netdb.h>
#include <stdio.h>
void main(void)
{
char buff[20];
struct hostent * hostaddr;
struct in_addr addr;
gethostname(buff, sizeof(buff) ); //获取本机名
printf("hostname=%s\n",buff);
hostaddr=gethostbyname(buff); //获取本机ip地址
memcpy(&addr.s_addr,hostaddr->h_addr_list[0],sizeof(addr.s_addr));
strcpy(buff,inet_ntoa(addr));
buff[15]=0;
fprintf(stderr,"local ip addres=%s\n",buff);
}
示例代码如下:
#include <netdb.h>
#include <stdio.h>
void main(void)
{
char buff[20];
struct hostent * hostaddr;
struct in_addr addr;
gethostname(buff, sizeof(buff) ); //获取本机名
printf("hostname=%s\n",buff);
hostaddr=gethostbyname(buff); //获取本机ip地址
memcpy(&addr.s_addr,hostaddr->h_addr_list[0],sizeof(addr.s_addr));
strcpy(buff,inet_ntoa(addr));
buff[15]=0;
fprintf(stderr,"local ip addres=%s\n",buff);
}
相关文章推荐
- MFC基于对话框框架的简易飞鸽系统(二)----获取局域网内运行同样程序的主机名和IP
- python 获取Linux主机名和IP
- 获取IP,主机
- [Win32]根据主机名、域名、IP字符串获取IP地址
- java Socket 获取本地主机ip
- C++ 获取局域网内所有可用IP和主机名
- java web在内网/局域网中访问,客户端主机ip获取
- asp.net获取IP和主机名
- 云主机获取客户端IP
- php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
- Python获取linux主机ip的简单实现方法
- JS获取IP、MAC和主机名的五种方法
- nbtstat Linux版源码, 通过IP获取主机名
- java 获取主机IP
- PHP获取当前页面的名称,主机名,URL完整地址,URL参数,获取IP
- 获取客户端浏览器,主机Ip....
- 获取本机主机名和IP的方法
- mfc获取机器名&本机IP
- 获取主机名称和ip,用户名
- Java-关于获取主机IP(NET)