
Android P中判断网卡接口是否存在
发布日期:2021-05-07 14:11:14
浏览次数:21
分类:精选文章
本文共 1045 字,大约阅读时间需要 3 分钟。
参考文章:
#define NET_NAME "vnet0"int check_nic() { struct ifreq ifr; int skfd = socket(AF_INET, SOCK_DGRAM, 0); int ret = 0; if(skfd == -1) { ret = -1; goto END; } strcpy(ifr.ifr_name, NET_NAME); if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { ret = -1; goto END; } if(ifr.ifr_flags & IFF_RUNNING) ret = 0; // 网卡已插上网线 else ret = -1;END: close(skfd); return ret;}
socket()方法用法,在指定的域和指定的类型中创建一个套接字。
项目 | Value |
---|---|
AF_APPLETALK | Apple Computer Inc. Appletalk network,苹果计算机公司Appletalk网络 |
AF_INET | Internet domain ,互联网域 |
AF_PUP | Xerox Corporation PUP internet ,施乐公司PUP互联网 |
AF_UNIX | Unix file system ,Unix文件系统 |
域AF_INET 和AF_UNI支持一下三种套接字类型
项目 | Value |
---|---|
SOCK_STREAM | 流套接字(TCP),顺序的,可靠的,双向的基于连接的数据流 |
SOCK_DGRAM | 数据报套接字(UDP), |
SOCK_RAW | 提供原始网络协议访问。 |
//创建一个互联网域类型的,UDP方式的数据报套接字int skfd = socket(AF_INET, SOCK_DGRAM, 0);
#define SIOCGIFFLAGS 0x8913//获取网络接口,SIOCGIFFLAGS为ioctl获取网络接口的flagioctl(skfd, SIOCGIFFLAGS, &ifr)
用ifconfig去启动一个不存在的网络接口时,会提示8913错误
# ifconfig eth0 upifconfig: ioctl 8913: No such device
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月19日 12时27分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java之封装,继承,多态
2019-03-06
wait()与notify()
2019-03-06
使用js打印时去除页眉页脚
2019-03-06
Spring security OAuth2.0认证授权学习第二天(基础概念-RBAC)
2019-03-06
ORA-00904: "FILED_TYPE": 标识符无效
2019-03-06
数据仓库系列之维度建模
2019-03-06
Scala教程之:函数式的Scala
2019-03-06
java中DelayQueue的使用
2019-03-06
线程stop和Interrupt
2019-03-06
Android中定时执行任务的3种实现方法
2019-03-06
nodejs中npm常用命令
2019-03-06
基于Vue2.0+Vue-router构建一个简单的单页应用
2019-03-06
基于vue2.0实现仿百度前端分页效果(二)
2019-03-06
JS魔法堂:函数重载 之 获取变量的数据类型
2019-03-06
时间序列神器之争:Prophet VS LSTM
2019-03-06
SpringBoot中关于Mybatis使用的三个问题
2019-03-06
MapReduce实验
2019-03-06
Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker
2019-03-06
java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
2019-03-06