参考1:https://yq.aliyun.com/articles/272274
参考2:https://www.hexcode.cn/article/show/qt-getip
-
借鉴方案(未解决):
由于电脑有多个网络适配连接(2个虚拟机+2个无线网),如图

根据参考1,可以获取到本机的IP相关信息,但是两个无线网无法区别谁是当前IP
// 获取所有网络接口
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
QList<QNetworkAddressEntry> entry;
foreach(QNetworkInterface inter, interfaces)
{
// 过滤掉虚拟机
if(-1 != inter.humanReadableName().indexOf("VMware"))
continue;
if (inter.flags() & (QNetworkInterface::IsUp | QNetworkInterface::IsRunning))
{
entry = inter.add

在多网络适配器环境下,通过Qt调用系统命令获取本机当前正在使用的IP地址,排除未使用的IP和无效网络连接。参考了相关文章,方案着重解决如何区分并获取有网关信息的活跃IP。
最低0.47元/天 解锁文章
274





