QT检测本机网线拔插(Ubuntu Qt环境实现)

该博客介绍了如何在QT环境下利用Linux C++的socket检测本机网线的拔插状态。通过封装getEth0()获取第一块有效网卡名称,isNetworkOn()函数实时检测网线连接,主要涉及socket、ioctl等系统函数。示例代码展示了具体实现过程。
摘要由CSDN通过智能技术生成

1、简介
在做网络通讯时,有时候需要检测本机的网线是否插上,以便提示用户。为了
实现本功能,现在在QT环境下调用linux C++的socket来检测检测网线的拔插。

2、主要封装好的接口(API)
(1)、getEth0():此函数的功能是,本机中第一块有效网卡的名称
(2)、isNetworkOn():此函数的功能是,检查本机是否插上网线,(本函数如果放到定时器调用,可以时时检测网线的拔插)

3、主要用到的系统函数
(1)、socket():创建网络通讯套接字。
(2)、inet_ntoa():把数字IP地址转成字符形IP地址192.168.0.111。
(3)、ioctl():执行IO命令(socket)。

4、代码示例
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <qglobal.h>
#include <QDebug>

#include <unistd.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <linux/ethtool.h>
#include <linux/sockios.h&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mark-puls

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值