VC----如何自动获取本机IP地址?
2010-03-23 21:06
519 查看
//#include<winsock2.h>
//连接 ws2_32.lib
void CCWebClientDlg::InitSocket()
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
CString ip;
int err;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 1, 1 );//版本号1.1
//1.加载套接字库
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
//判断是否我们请求的winsocket版本,如果不是
//则调用WSACleanup终止winsocket的使用并返回
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}///...if
if ( err == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
WSACleanup( );
}
SetDlgItemText(IDC_EDIT_PORT,name);//name里是本机名
SetDlgItemText(IDC_IPADDRESS1,ip); //ip中是本机IP
//连接 ws2_32.lib
void CCWebClientDlg::InitSocket()
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
CString ip;
int err;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 1, 1 );//版本号1.1
//1.加载套接字库
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
//判断是否我们请求的winsocket版本,如果不是
//则调用WSACleanup终止winsocket的使用并返回
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}///...if
if ( err == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
WSACleanup( );
}
SetDlgItemText(IDC_EDIT_PORT,name);//name里是本机名
SetDlgItemText(IDC_IPADDRESS1,ip); //ip中是本机IP
相关文章推荐
- VC----如何自动获取本机IP地址?
- VC----如何自动获取本机IP地址?
- VC获取IP、子网掩码、网关、广播地址
- VC获取本机IP、子网掩码、网关、计算广播地址等信息代码(通过读注册表)
- 如何让路由自动获取公网的IP
- 如何使用Linux命令 自动获取IP
- 如何获取本地局域网内的可用IP地址
- Flex如何获取本机IP地址
- 根据访问用户IP地址自动获取天气预报
- linux下如何从自动获取ip转到手动配置ip
- C#编程之 如何获取本地和远程主机的IP及MAC地址
- 如何获取本地局域网内的可用IP地址
- VC 中的IP地址控件,关联一个DWORD的变量dwValue,如何将这个dwValue按IP地址显示转化成4个数字或者字符串?
- oracle 中如何获取本机ip地址,根据IP地址获取域名?
- iOS 如何获取手机外网IP地址(附内网IP地址)
- 如何获取客户端的IP与MAC地址
- 如何获取 docker 容器(container)的 ip 地址(转)
- jsp如何获取用户的真实IP地址...
- 如何根据IP自动获取当地的天气预报信息
- Fedora/centos Linux如何设置网卡自动获取网络地址