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

网站建设技术支持包括哪些品牌做网站

网站建设技术支持包括哪些,品牌做网站,建立企业网站的技能,虚拟偶像定制app前言#xff1a;因为项目需要定时检查网络中设备是否能连通#xff0c;需要定时去做ping操作#xff0c;若是网络不通#xff0c;则ping花费时间比较久#xff08;局域网大概4秒钟才能结束#xff0c;当然如果设置超时时间啥的#xff0c;也能很快返回#xff0c;就是会…前言因为项目需要定时检查网络中设备是否能连通需要定时去做ping操作若是网络不通则ping花费时间比较久局域网大概4秒钟才能结束当然如果设置超时时间啥的也能很快返回就是会报QProcess提前关闭的警告。此外我想要在设备连接后才去开始定时ping要是断开后则停止定时器停止ping。网上有很多定时器使用线程的例子但是没有讲到可以随时停止和开始的那种本文结合实例使用线程去执行定时器的定时操作。 一、定义定时器和线程变量。 在头文件中定义 #include QTimer#include QThread#include QString#include QProcess/** 监听网线拔出或者wifi断开情况的定时器 ***/QTimer *detectNetCablePulloutTimer NULL;/** 执行定时器的线程 **/QThread *detectNetCablePulloutTimerThread NULL;/** 开始检测网线拔出时或者wifi断开时的定时器 **/void startDetectNetCablePulloutTimer();/** 停止定时器 **/void stopDetectNetCablePulloutTimer();private slots:/** 检测网络连接情况的槽函数在线程中执行 **/void checkDeviceIsOnline(); 二、开始定时器、停止定时器以及销毁定时器代码。 开始定时器代码 void CurrentXXXClass::startDetectNetCablePulloutTimer() {// 先停止确保开始之前是停止状态stopDetectNetCablePulloutTimer();if (detectNetCablePulloutTimer NULL) {detectNetCablePulloutTimerThread new QThread(this);detectNetCablePulloutTimer new QTimer();// 5秒执行一次局域网断开时一般耗时4-5秒detectNetCablePulloutTimer-setInterval(5000);// 定时操作放在线程中执行detectNetCablePulloutTimer-moveToThread(detectNetCablePulloutTimerThread);// 定时任务放在线程中执行, 必须指定参数-Qt::DirectConnectionconnect(detectNetCablePulloutTimer, QTimer::timeout, this,CurrentXXXClass::checkDeviceIsOnline, Qt::DirectConnection);// 匿名函数void (QTimer::*pStartFun)() QTimer::start;// 线程开始时调用定时器的开始connect(detectNetCablePulloutTimerThread, QThread::started, detectNetCablePulloutTimer, pStartFun);// 线程结束时调用定时器的结束所以要停止定时器只要调用线程的quit方法// 同时防止提示定时器停止和开始不在同一线程错误connect(detectNetCablePulloutTimerThread, QThread::finished, detectNetCablePulloutTimer, QTimer::stop);}detectNetCablePulloutTimerThread-start(); } 停止定时器代码 void CurrentXXXClass::stopDetectNetCablePulloutTimer() {if (detectNetCablePulloutTimerThread ! NULL) {// 会调用定时器的stop方法detectNetCablePulloutTimerThread-quit();} } 销毁定时器在析构函数中执行 //销毁指针变量-注意先后顺序if (detectNetCablePulloutTimerThread ! NULL) {detectNetCablePulloutTimerThread-quit();detectNetCablePulloutTimerThread-wait();delete detectNetCablePulloutTimerThread;detectNetCablePulloutTimerThread nullptr;}if (detectNetCablePulloutTimer ! NULL) {delete detectNetCablePulloutTimer;detectNetCablePulloutTimer nullptr;} 三、在槽函数中执行耗时操作。 此槽函数是在子线程中执行若是执行完后要回到主线程执行某操作则必须通过发送一个信号方式才能达到效果。 void CurrentXXXClass::checkDeviceIsOnline() {QString ip 192.168.1.1;// 若是timer使用了线程则此函数在子线程中执行执行比较耗时的操作QProcess pingProcess;// 不设置-w参数QString strArg ping ip -n 1 -i 2;// qt 6 开始命令的方法pingProcess.startCommand(strArg, QIODevice::ReadOnly);// 不带等待时间参数pingProcess.waitForReadyRead();// 不带等待时间参数pingProcess.waitForFinished();QString p_stdout QString::fromLocal8Bit(pingProcess.readAllStandardOutput());bool bPingSuccess false;// 通过特殊字符串进行判断ping是否成功if (p_stdout.contains(TTL)) {// 网络连通bPingSuccess true;} else {// 网络不通bPingSuccess false;} }
http://www.pierceye.com/news/147272/

相关文章:

  • 无锡响应式网站设计wordpress站群管理系统
  • 主题网站策划设计书网络营销是什么的一项活动
  • python+网站开发实例教程免费做视频网站
  • 免费建站自己的网址美化网站公司
  • 做购物网站哪个cms好用网络规划与设计就业前景
  • wordpress仿站工具网站建设jw100
  • 网站推广过程叙述关键词歌词
  • vip影视网站如何做appwordpress centos查看目录
  • 网站怎么套模板山西seo博客
  • 好看的手机网站推荐新建的网站 找不到
  • 网站站内搜索怎么做seo搜索优化
  • 建设部网站 测绘规章pc网站手机网站
  • 建网站如何赚钱vs哪个版本做网站好
  • 新衡阳网站游戏软件开发公司简介
  • 湖南基础建设投资集团网站做体育最好的网站
  • 上海php网站开发公司wordpress 邮件认证
  • 教做香肠的网站张家港专业网站建设
  • 园林建设网站营销型网站的建站步骤是什么意思
  • 招聘求职网站html模板正规的创业商机网
  • 预付网站建设费会计处理哪里建网站好
  • 做免费网站艺术学院网站建设管理办法
  • 做网站贵吗手机网站wap
  • linux建立网站做网站的应该怎么发广告
  • wordpress使用端口百度seo排名软
  • 用英文字母做网站关键词个人网站的设计与实现专业论文图像处理工具
  • 重庆企业网站推广流程php网站开发技术训练心得
  • 汽车销售网站学校建网站
  • 两台电脑一台做服务器 网站潍坊专业网站建设多少钱
  • 青岛科技街网站建设安徽 网站开发
  • 黑糖不苦建设的网站wordpress获取文章图片不显示