linux(arm板)检查网线是否插入,断开

检查网线是否插入可以查看
/sys/class/net/eth0/carrier  文件的内容。 1 表示网线插入, 0 表示网线断开。

在Qt程序中就是

另开了一个线程,原因是如果在一个线程是不能够实时监测的,总会有阻塞

void checkProcess::checkFun()
{
    QFile file("/sys/class/net/eth0/carrier");
    if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
    {
        qDebug() << "file open fail";
        return;
    }
    QByteArray info;
    info.append(file.read(1));
    file.close();
    if(info.toInt())
    {
        emit sendCurrentStatus(true);
    }
    else
    {
        emit sendCurrentStatus(false);
    }
}

然后接受的地方

QString cmd_true = "current port = connect";
    QString cmd_false = "current port = disconnect";
    static bool lastcmd;
    if(lastcmd != cmd)
    {
        if(cmd)
        {
            ui->textBrowser->append(cmd_true);
        }
        else
        {
            ui->textBrowser->append(cmd_false);
        }
        lastcmd = cmd;
    }

现象为:

linux(arm板)检查网线是否插入,断开_第1张图片

你可能感兴趣的:(Qt,linux)