用c/c++实现linux下检测网络接口状态 .
来源:互联网 发布:淘宝退货没有上门取件 编辑:程序博客网 时间:2024/06/11 15:54
要写个检测网络接口链接状态的东西,又不喜欢不断的ping别的地址,也不想调用其他命令行工具来做这个,于是在google了n多内容未果之后,搜刮到个检测工具的源代码,从里面抠出来一块儿就ok了,版权不是我的哦,哈哈……
以下代码在fedora 9 / CentOS 5.2下调试通过:)
以下代码在fedora 9 / CentOS 5.2下调试通过:)
- #include <sys/types.h>
- #include <string.h>
- #include <stdlib.h>
- #include <sys/ioctl.h>
- #include <stdio.h>
- #include <errno.h>
- #include <net/if.h>
- struct ethtool_value {
- __uint32_t cmd;
- __uint32_t data;
- };
- int main(int , char* [])
- {
- struct ethtool_value edata;
- int fd = -1, err = 0;
- struct ifreq ifr;
- memset(&ifr, 0, sizeof(ifr));
- strcpy(ifr.ifr_name, "eth0");
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- perror("Cannot get control socket");
- return 70;
- }
- edata.cmd = 0x0000000a;
- ifr.ifr_data = (caddr_t)&edata;
- err = ioctl(fd, 0x8946, &ifr);
- if (err == 0) {
- fprintf(stdout, "Link detected: %s/n",
- edata.data ? "yes":"no");
- } else if (errno != EOPNOTSUPP) {
- perror("Cannot get link status");
- }
- return 0;
- }
- 用c/c++实现linux下检测网络接口状态
- 用c/c++实现linux下检测网络接口状态
- 用c/c++实现linux下检测网络接口状态 .
- 用c/c++实现linux下检测网络接口状态
- 用c/c++实现linux下检测网络接口状态
- 用c/c++实现linux下检测网络接口状态
- linux c 检测网络状态
- Linux C 怎么检测网络状态
- Linux下如何实现网络状态检测
- objective-c检测网络状态
- Linux下如何用C编程实现检测网卡与网线的连接状态
- Linux下如何用C编程实现检测网卡与网线的连接状态
- Linux下用c实现通过ping检测连接
- C语言+shell 实现linux网卡状态检测
- Linux下检测网络状态是否正常
- Linux下Socket网络接口编程(C++)
- Linux下如何实现状态检测
- Linux下如何实现状态检测
- new/delete和malloc/free区别,能否交叉使用
- 如何修改Tomcat服务器Server Locations .
- MFC 0xC015000F 错误
- SQL获取表名、列名、数据类型、描述、表最后修改时间
- Linux kill命令
- 用c/c++实现linux下检测网络接口状态 .
- JAVA GUI (action 事件)
- windows 编程入门(1)
- amoeba源码分析(一)-AmoebaProxyServer入口类分析
- 线性表--链式实现方式
- Android系统服务
- MD5加密
- memcached 可能存在的问题汇总
- 闭关数年