---------------在StdAfx.h中加入---------------------
#include <winsock2.h> //套接字编程需要的头文件
#pragma comment(lib,"ws2_32.lib") //套接字编程需要的库文件
---------------在要用的地方---------------------
WSADATA wsadata;
if(0 != WSAStartup(MAKEWORD(2, 2), &wsadata)) //初始化
{
AfxMessageBox("初始化网络环境失败!");
return TRUE;
}
char szHostName[MAX_PATH + 1];
gethostname(szHostName, MAX_PATH); //得到计算机名
hostent *p = gethostbyname(szHostName); //从计算机名得到主机信息
if(p == NULL)
{
AfxMessageBox("得到本机网络信息失败!");
return TRUE;
}
m_strName = szHostName; //保存主机名
int nCount = 0; //保存主机地址
char *pIP = inet_ntoa(*(in_addr *)p->h_addr_list[0]);//将32位IP转化为字符串IP
m_strAddr = pIP; //保存主机IP地址
UpdateData(FALSE); //显示各个数据
WSACleanup(); //释放Winsock API
或者,
---------------在StdAfx.h中加入---------------------
#include <Afxsock.h>
---------------在xxxApp.InitInstance()中加入---------------------
if(!AfxSocketInit())
{ AfxMessageBox(_T("加载套接字库失败!"));
return FALSE;
}
---------------在要用的地方加入---------------------
char szHostName[MAX_PATH + 1];
gethostname(szHostName, MAX_PATH); //得到计算机名
hostent *p = gethostbyname(szHostName); //从计算机名得到主机信息
if(p == NULL)
{
AfxMessageBox("得到本机网络信息失败!");
return TRUE;
}
m_strName = szHostName; //保存主机名
int nCount = 0; //保存主机地址
char *pIP = inet_ntoa(*(in_addr *)p->h_addr_list[0]);//将32位IP转化为字符串IP
m_strAddr = pIP; //保存主机IP地址