linux板子如何判断网络连接是否正常

bool NetlinkStatus::GetNetStat()
{
    char buffer[BUFSIZ];
    FILE *read_fp;
    int chars_read;
    bool ret;

    memset( buffer, 0, BUFSIZ );
    read_fp = popen("ifconfig eth0 | grep RUNNING", "r");
    if(read_fp != NULL)
    {
        //fread和fwrite函数一般用于二进制文件的输入输出
        //返回值:读或写的记录数,成功时返回的记录数等于nmemb,出错或读到文件末尾时返回的记录数小于nmemb,也可能返回0
        chars_read = fread(buffer, sizeof(char), BUFSIZ-1, read_fp);
        if(chars_read > 0)
        {
            ret = true;
        }
        else
        {
            ret = false;
        }
        pclose(read_fp);
    }
    else
    {
        ret = false;
    }
    return ret;
}

 

你可能感兴趣的:(Linux)