在项目中和网络连接的模块中,要不停的去检查网络是否正常,尝试了很多的方法,最后终于找到了一个比较靠谱的方法,现在分享给大家。
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <termios.h>
#include <errno.h>
#include <string.h>
#include <android/log.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <linux/if.h>
#include <linux/sockios.h>
#include <sys/types.h>
#include <net/if.h>
/**********************************************************************
* 函数名称: get_netlink_status
* 功能描述:检测网络链接是否断开
* 输入参数:const char *(要检测的网口,如:eth0、eth1)
* 输出参数:无
* 返回值:正常链接0,断开返回-1
***********************************************************************/
int get_netlink_status(const char *if_name)
{
struct ifreq ifr;
int skfd = socket(AF_INET, SOCK_DGRAM, 0);
strcpy(ifr.ifr_name, if_name);
if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0)
{
return -1;
}
if(ifr.ifr_flags & IFF_RUNNING)
return 0; // 网卡已插上网线
else return -1;
}
int main()
{
if(get_netlink_status("eth0") == 0)
printf("detect ok./n");
else
printf("detect fail./n");
}
分享到:
相关推荐
介绍linux下检测网卡与网线连通状态的方法,并有详细函数
C# 网卡状态监控C# 网卡状态监控C# 网卡状态监控C# 网卡状态监控C# 网卡状态监控C# 网卡状态监控C# 网卡状态监控
vs2017环境,windows系统,检测网线插入拔出状态。核心代码短短30行。亲测可用,我实际用到了工程中,报告网线是否插入。
双网卡绑定:Linux下双网卡绑定技术实现网卡负载均衡
深度分析Linux下双网卡绑定7种模式.docx
前段时间硬盘安装了CentOS5.5 但台式机用的是无线网卡,其驱动程序没有Linux版的,在此提供 madwifi驱动程序包给需要的朋友
linux配置网卡方法 linux配置网卡方法: 基于命令行方式的手工配置方法 手工方法是在以太网卡已装入的情况下编辑配置文件来配置网络的方法。具体步骤如下: 1.编辑/etc/rc.d/rc.local文件 在该文件中加入类似...
Linux下检查网卡bonding状态和切换主备网卡
linux下双网卡udp收发通信,两个网口收到udp数据包后直接往源地址回复相同的数据,通过两个线程实现双网口并行工作,两个网卡工作在不同的网段
linux下如何获取网卡信息 linux下如何获取网卡信息
深度分析Linux下双网卡绑定七种模式
linux 网卡 数量 c 脚本linux 网卡 数量 c 脚本linux 网卡 数量 c 脚本linux 网卡 数量 c 脚本linux 网卡 数量 c 脚本
linux双网卡绑定 bonding
企业版6.5 Linux 下无线网卡Broadcom Corporation BCM4313 802.11bgn Wireless Network认不到问题解决
linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、自动安装Wi-Fi热点。 最近在做路由器二次开发,现在市面上卖的新设备,大多数都采用了2.5G网卡,现在...
我的系统是Fedora6,无线网卡是 Intel 802.11 b/g 的,前段时间为了在 Linux 下可以连接到家中的无线网络,忙活了一个多星期才搞好,感觉还是很麻烦的,所以把我整理的资料发上来大家供大家参考,希望对大家有用。...
这是一个linux下的有线网卡驱动。只需自己编译安装即可。
本文介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的 设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在...