Ubuntu中基于QT的系统网线连接状态的实时监视
1.必要准备
需包: #include <QNetworkInterface>
2.实现获取当前的网线连接状态
以下是自己在网络上搜到的一个解决方法,且没有加入iface.flags().testFlag(QNetworkInterface::IsRunning) 这一逻辑判断,经测试实时性极不可靠,在虚拟机里调试时发现有时候有10s左右的延迟,但运行在嵌入式系统上时几乎就是一摆设。于是自己阅读QT帮助尝试了多种方法并加以改造,发现加入了第二项条件判断后,结果就非常的可靠了。
- bool isConnectedToNetwork()
- {
- QList<QNetworkInterface> ifaces = QNetworkInterface::allInterfaces();
- bool isConnected = false;
- for (int i = 0; i < ifaces.count(); i++)
- {
- QNetworkInterface iface = ifaces.at(i);
- if ( iface.flags().testFlag(QNetworkInterface::IsUp)
- && iface.flags().testFlag(QNetworkInterface::IsRunning)
- && !iface.flags().testFlag(QNetworkInterface::IsLoopBack)
- )
- {
- // this loop is important
- for (int j=0; j<iface.addressEntries().count(); j++)
- {
- // we have an interface that is up, and has an ip address
- // therefore the link is present
- // we will only enable this check on first positive,
- // all later results are incorrect
- if (isConnected == false)
- isConnected = true;
- }
- }
- }
- return isConnected;
- }
3. 实时性监测实现
实时性的实现是利用了QT的定时器和信号与槽机制。这个大家甚至比我都清楚,就不啰嗦了。
转自:http://blog.csdn.net/u010492096/article/details/40110749
转载于:https://www.cnblogs.com/liushui-sky/p/6479466.html
Ubuntu中基于QT的系统网线连接状态的实时监视相关推荐
- 在Win10的Linux子系统Ubuntu中使用Qt
在Win10的Linux子系统Ubuntu中使用Qt 陈拓 2021/07/26-2021/07/26 1. 概述 在<Win10的Linux子系统Ubuntu安装图形界面> https: ...
- linux查看哪个网卡插着网线,(笔记)Linux下检测网卡与网线连接状态
Linux下检测网卡与网线连接状态,使用ioctl向socket发送SIOCETHTOOL命令字. #include #include #include #include #include #incl ...
- Ubuntu中安装Qt
文章目录 Ubuntu中安装必要的软件 安装流程 配置 运行 配置运行 Ubuntu中安装必要的软件 主要为了打开图形程序 sudo apt-get update sudo apt-get --ass ...
- Ubuntu下基于Qt框架,使用WebRtc开发总结(二):Qt工程配置总结
.Pro文件的配置 那么,接上一部分,根据自己是否需要显示视频,新建一个Qt的控制台/窗口程序,并根据自己的开发需要添加Qt的组件,我的工程添加了如下的组件: QT += core websocket ...
- 关于Ubuntu中Firefox浏览器提示“代理服务器拒绝连接”的解决办法
VMware虚拟机中安装了Ubuntu系统,Firefox浏览器显示"代理服务器拒绝连接",在VMware中的虚拟网络编辑器选项中选择了<还原默认设置>,重启后还是显示 ...
- 在ubuntu中使用命令行工具sqlcmd连接sql server数据库
步骤: 首先安装sqlcmd工具 注意:如果你连接的用户是 root用户,命令中带有 sudo 的,sudo都可以酌情去掉,不行再加上 1 安装curl软件包: sudo apt install cu ...
- ubuntu 中的qt怎么调用graphics.h_Qt 标准对话框之 QFileDialog
Qt 标准对话框之 QFileDialog <Qt 学习之路>已经写到了第15篇,然而现在再写下去却有点困难,原因是当初并没有想到会连续的写下去,因此并没有很好的计划这些内容究竟该怎样去写 ...
- 树莓派中基于Qt的图像显示image.[微雪电子树莓派Qt系列教程]
Waveshare前言 在qml的常用元素中,image图像元素绝对算得上是比较常用的了.image用于展示图片,使用source属性可以使用URL指定一张图片. image可以展示Qt支持的任何标准 ...
- QT每日一练day4:ubuntu中使用QT
(本文主要是为了说明QT的跨平台特性) 一.安装QT sudo apt-get install qt5-default qtcreator cmake 二.打开QT 可以点击图标或命令行方式: 三 ...
最新文章
- 使用nc检测udp端口是否可以正常通讯
- ajax判断密码是否一致,jquery.validate ajax方式验证密码是否正确
- [BZOJ1322]Destroying The Graph
- 知道坐标matlab三维作图,已知点坐标,要求根据坐标作出三维曲面图
- python语句int_python中的int函数
- js判断对象是否为空对象_js对象
- Q绑查询html单页源码 自带接口
- Hive的数据库和表
- sharedpreferences使用方法_Google 推荐在 MVVM 架构中使用 Kotlin Flow
- 重磅分享(二)——决策引擎实战部署
- cocos2d-x(概括)
- QtcpSocket readyRead 粘包解法
- android svg 线条动画教程,SVG 实现复杂线条动画
- Spring中AOP的Introductions使用介绍(五)
- 一键清除系统垃圾文件的bat批处理命令
- oracle hot patch david,Hot Patch工具Rollout
- 国际计算机编程大赛报名,关于举办2020年新生编程大赛的报名通知
- 三星note20u计算机功能,三星Note20Ultra隐藏功能有哪些-藏功能操作方法
- 解决hive 中 beeline无法连接问题
- 关于戴尔电脑物理内存(灵越7590)
热门文章
- 未能从程序集 XX加载类型XXX的错误解决方法(借以提醒NHibernate使用者)
- 2021河南省高考文科成绩排名查询,2021年河南高考成绩排名及一分一段表
- x86架构手机_都是芯片,为什么电脑CPU不能用在手机里?
- android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后
- android clean 框架,clean架构
- ajax csv写文件内容,接收.csv文件作为ajax成功函数中的数据
- 初识Redis,看这一篇就够了
- 机器学习四剑客1——Numpy
- 使用Python,OpenCV从静态背景中提取移动前景
- KMP-next数组