1个回答
展开全部
MFC:
---------------在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
QT:
QString Widget::getIP() //获取ip地址
{
QList<QHostAddress> list = QNetworkInterface::allAddresses();
foreach (QHostAddress address, list)
{
if(address.protocol() == QAbstractSocket::IPv4Protocol)
//我们使用IPv4地址
return address.toString();
}
return 0;
}
或者
QString localHostName = QHostInfo::localHostName();
qDebug() <<"localHostName:"<<localHostName;
QHostInfo info = QHostInfo::fromName(localHostName);
foreach(QHostAddress address,info.addresses())
{
if(address.protocol() == QAbstractSocket::IPv4Protocol)
qDebug() <<"IPV4 Address: "<< address.toString();
}
另外,如果是windows系统:
可以参考:http://blog.csdn.net/q277055799/article/details/8301581
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询