DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

其实对于自己装了网卡驱动的来说,应该从最根本的驱动中获取速率。

但是用ioctl()也可以,其实实现和iwconfig命令相同。

 

仅仅获取速率这部分:

 

 

[cpp] view plain copy
 
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <sys/socket.h>  
  4. #include <string.h>  
  5. #include "wireless_copy.h"  
  6. #define dvname "ath0"  
  7. int get_rate(int sock, struct iwreq* wrq,__s32 rate);  
  8. int main()  
  9. {  
  10.     struct iwreq wrq;  
  11.     int sock;  
  12.     char gInterfaceName[16];  
  13.     __s32 rate;  
  14.     memset(gInterfaceName, 0, sizeof(gInterfaceName));  
  15.     strcat(gInterfaceName,dvname);  
  16.     sock = socket(AF_INET, SOCK_DGRAM, 0);  
  17.         if (sock < 0)  
  18.         {  
  19.             printf("Error Creating Socket for ioctl/n");  
  20.             return 0;  
  21.         }  
  22.     memset(&wrq, 0, sizeof(wrq));  
  23.     strncpy(wrq.ifr_name, gInterfaceName, IFNAMSIZ);  
  24.     get_rate(sock, &wrq,rate);  
  25.     printf("/nrate:%dM/n/n",wrq.u.bitrate.value/1000000);  
  26.     return 0;  
  27. }  
  28. int get_rate(int sock, struct iwreq* wrq,__s32 rate)  
  29. {  
  30.     if(ioctl(sock, SIOCGIWRATE, wrq) < 0)  
  31.     {  
  32.         perror("Ioctl error");  
  33.         return(0);  
  34.     }  
  35.     return 1;  
  36. }  

 

 

其中wireless_copy.h可以从madwifi /tools 文件夹中找到。

posted on   DoubleLi  阅读(1256)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2015-04-01 linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
2015-04-01 Tar打包、压缩与解压缩到指定目录的方法
2015-04-01 UDP包的大小与MTU
2012-04-01 JavaScript教程:JavaScript如何判定用户浏览器类型和版本号?
2012-04-01 【JavaScript】attachEvent 与addEventListener区别
点击右上角即可分享
微信分享提示