当前位置: 首页 > news >正文

AddIPAddress添加临时IP后,socket bind失败

问题描述

在Win10\Win11下使用addIPAddress添加临时IP成功后,立即创建socket,bind失败

if(!m_socket->bind(QHostAddress(m_localIP), listenPort))
{qCritical() << QString("bind error %1").arg(m_socket->errorString());return;
}

错误输出:
bind error 这个地址不可用

解决方案

经测试addIPAddress添加临时IP后,未立即生效,至少要超过3秒的等待时间,故采用如下方案:

int count = 0;
bool bindOK = false;
do
{bindOK = m_socket->bind(QHostAddress(m_localIP), listenPort);if(bindOK){break;}QThread::msleep(500);
} while (count++ < 12);if (!bindOK)
{qCritical() << QString("bind error %1").arg(m_socket->errorString());return;
}

查询相关资料

https://learn.microsoft.com/zh-cn/windows/win32/api/iphlpapi/nf-iphlpapi-addipaddress
https://bbs.csdn.net/topics/390226048
https://stackoverflow.com/questions/23620805/addipaddress-not-taking-immediate-effect

http://www.lryc.cn/news/491345.html

相关文章:

  • 关于IDE的相关知识之一【使用技巧】
  • 线性代数在人工智能领域中的实践
  • 图片生成视频-右进
  • 3、集线器、交换机、路由器、ip的关系。
  • w~视觉~合集25
  • Applicaiton配置文件
  • (已解决)wps无法加载此加载项程序mathpage.wll
  • ubity3D基础
  • Python2和Python3的区别
  • Spring框架整合单元测试
  • docker-mysql
  • Java程序基础⑤Java数组的定义和使用+引用的概念
  • electron主进程和渲染进程之间的通信
  • uniapp 安卓和ios震动方法,支持息屏和后台震动,ios和安卓均通过测试
  • # DBeaver 连接hive数仓
  • STM32H7开发笔记(2)——H7外设之多路定时器中断
  • Pytorch使用手册-Build the Neural Network(专题五)
  • 16. Springboot集成Tika实现文档解析
  • 【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】
  • [网络]无线通信中的AMPDU
  • [QDS]从零开始,写第一个Qt Design Studio到程序调用的项目
  • Selenium Chrome Options 总结
  • 11、PyTorch中如何进行向量微分、矩阵微分与计算雅克比行列式
  • 【软件方案】智慧城市,智慧园区,智慧校园,智慧社区,大数据平台建设方案,大数据中台综合解决方案(word原件)
  • 用js实现点击抽奖
  • Django 自定义路由转换器
  • 【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?
  • 破解天然气巡检挑战,构建智能运维体系
  • go web单体项目 学习总结
  • Cocos游戏优化