Socket网络编程【获取本机IP】
2014-11-10 21:17
316 查看
//12.3.2
//运行环境VS2013
//获取本地IP
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
// 调用WSAStarup初始化WINsock库
WSADATA wsaData;
::WSAStartup(
MAKEWORD(2,2),
&wsaData);
// 存放主机名的缓冲区
char szHost[256];
// 取得本地主机名称
::gethostname(szHost, 256);
// 通过主机名得到地址信息,一个主机可能有多个网卡,多个IP地址
hostent *pHost = ::gethostbyname(szHost);
in_addr addr;
int i;
for (i = 0;; i++)
{
//获得地址(网络字节序)
char *p = pHost->h_addr_list[i];
if (p == NULL)
{
break;
}
// 将地址拷贝到in_addr结构体中
memcpy(&addr.S_un.S_addr, p, pHost->h_length);
// 将in_addr转换为主机字节序
char *strIp = ::inet_ntoa(addr);
// 输出
printf("本机IP[%d]:%s\n",i+1,strIp);
}
// 终止对Winsock库的使用
::WSACleanup();
getchar();
}
//运行环境VS2013
//获取本地IP
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
// 调用WSAStarup初始化WINsock库
WSADATA wsaData;
::WSAStartup(
MAKEWORD(2,2),
&wsaData);
// 存放主机名的缓冲区
char szHost[256];
// 取得本地主机名称
::gethostname(szHost, 256);
// 通过主机名得到地址信息,一个主机可能有多个网卡,多个IP地址
hostent *pHost = ::gethostbyname(szHost);
in_addr addr;
int i;
for (i = 0;; i++)
{
//获得地址(网络字节序)
char *p = pHost->h_addr_list[i];
if (p == NULL)
{
break;
}
// 将地址拷贝到in_addr结构体中
memcpy(&addr.S_un.S_addr, p, pHost->h_length);
// 将in_addr转换为主机字节序
char *strIp = ::inet_ntoa(addr);
// 输出
printf("本机IP[%d]:%s\n",i+1,strIp);
}
// 终止对Winsock库的使用
::WSACleanup();
getchar();
}
相关文章推荐
- 通过网络socket获取对方 ip 和port
- socket编程实现简单DNS协议实现获取域名ip(UDP)
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip
- Linux 网络编程之通过IP或者主机名获取信息
- Linux网络编程----bind自动获取自己的IP和PORT,端口使用的注意事项
- 网络编程中通过hostname获取ip的方法
- 嵌入式 获取网卡设备以及IP和MAC地址示例以及网络编程之ioctl小结
- android 网络编程--socket tcp/ip udp http之间的关系
- android 网络编程--socket tcp/ip udp http之间的关系
- 【tcp-ip学习总结】socket编程基础/网络编程基础
- 【网络编程学习笔记01】Socket套接字编程(TCP/IP)
- IP Addres 获取 -ubuntu G++ 网络编程
- android-关于socket编程(附上如何获取安卓机的ip)
- linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换
- 基于TCP/IP的网络编程接口:Socket
- linux socket编程client获取使用的ip和port
- SOCKET 编程 获取本机IP 地址
- 网络编程实验一 win socket基础 获取服务器时间
- (转)iOS 各种网络编程总结--进程、线程、Socket、HTTP、TCP/IP、TCP和UDP
- 赵雅智_java网络编程(4)TCP/IP、Http和Socket的区别