2-1.1_15节_使用WIFI网卡6_仿手机写wifi操作程序
==============================

1. 仿手机写一个WIFI操作程序,作为STA,有这几个功能:
a. 自动扫描WIFI热点
b. 点击某个WIFI热点后会去连接它, 必要(非open的)时让你输入密码
c. 曾经连接过的WIFI热点会保留它的密码等信息, 以后会自动连接

2.wpa_supplicant(service) <======== wpa_cli(client)   wpa_cli通过socket去连接wpa_supplicant
依照wpa_cli,给wpa_supplicant发各种命令,比如:
scan
add_network
set_network
select_network
save_config

$ wpa_cli
> status 查看连接状态,有AP的热点名等
> scan 扫描AP
> scan_results 扫描的结果
> add_network 连接热点
...
> quiet

$ wpa_cli status
$ wpa_cli scan
$ wpa_cli scan_results
$ wpa_cli add_network

3.当运行wpa_supplicant时就会在/var/run/wpa_supplicant/下创建文件wlan0
ls /var/run/wpa_supplicant/ -l
srwxrwx--- 1 0 0 0 Nov 22 2013 wlan0
之后wpa_cli和wpa_supplicant之间就可以通过这个socket文件进行通信。
wpa_cli.c中的wpa_cli_open_connection()就是去打开这个socket文件,通过wpa_request()向wpa_supplicant发送请求命令得到结果。
Linux下是通过send()发的,Windows下是通过Writefile()发的

4.从Uboot中拷贝过来parse_line() main_loop()中的。

WIFI_仿手机写wifi应用程序_WDS的更多相关文章

  1. 仿照手机写一个WIFI的操作程序

    本篇博客仿照手机的功能,写一个WIFI的操作程序. 手机的WIFI功能有哪些呢?当我们进入wlan的设置界面的时候,将自动识别出若干个wifi的热点,并且会自动更新,当点击某个wifi热点的时候,然后 ...

  2. 微信小程序仿手机相册组件——简单版

    仿手机相册的微信小程序组件,具备点击图片预览,长按图片出现多选框功能,读者可以根据自己的需求,依据现有数据进行删除等操作.话不多说,先看效果: 初始效果:  长按效果: 选择效果: 注意:当前只是简单 ...

  3. Android手机用wifi连接adb调试的方法

    https://www.jianshu.com/p/dc6898380e38 0x0 前言 Android开发肯定要连接pc的adb进行调试,传统的方法是用usb与pc进行连接,操作简单即插即用,缺点 ...

  4. vue全家桶+axios+jsonp+es6 仿肤君试用小程序

    vue全家桶+axios+jsonp+es6 仿肤君试用小程序 把自己写的一个小程序项目用vue来实现的,代码里面有一些注释,主要使用了vue-cli,vue,vuex,vue-router,axoi ...

  5. vue-miniQQ——基于Vue2实现的仿手机QQ单页面应用(接入了聊天机器人,能够进行正常对话)

    使用Vue2进行的仿手机QQ的webapp的制作,作品由个人独立开发,源码中进行了详细的注释. 由于自己也是初学Vue2,所以注释写的不够精简,请见谅. 项目地址 https://github.com ...

  6. 手机连接WiFi有感叹号x怎么回事?如何消除手机WiFi感叹号?

    经过多年的革新,现在的安卓系统已经非常优秀了,某些程度已经超越iOS,卡顿和耗电也不再是安卓系统的代名词了.而为了体验到最优秀的安卓系统,不少人都会购买海外的手机,因为海外手机的安卓系统都比较精简,非 ...

  7. Android之——获取手机安装的应用程序

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中.向大家介绍了几个项目中经常使用的有 ...

  8. vue2.0 仿手机新闻站(一)项目开发流程

    vue仿手机新闻站: 1.拿到静态页面,直接用vue边布局,边写 2.假数据 没有用任何UI组件,切图完成 做项目基本流程: 1.规划组件结构 Nav.vue Header.vue Home.vue ...

  9. 安卓手机上运行 PC-E500 程序

    目录 第1章安卓手机上运行 PC-E500 程序    1 1 PockEmul    1 2 下载    1 3 打包BASIC程序    2 4 配置PC-E500模拟器    5 5 载入e50 ...

随机推荐

  1. border可以这样给控件加边框

    <Border.BorderBrush>         <SolidColorBrush Color="Red" Opacity="0" / ...

  2. English trip -- VC(情景课)5 Around Town

     Around Town  城市周围 Talk about the picture 看图说话 sentences Where are you? I'm in the Meten classroom. ...

  3. AIM Tech Round 3 (Div. 1) (构造,树形dp,费用流,概率dp)

    B. Recover the String 大意: 求构造01字符串使得子序列00,01,10,11的个数恰好为$a_{00},a_{01},a_{10},a_{11}$ 挺简单的构造, 注意到可以通 ...

  4. Travelling Salesman and Special Numbers CodeForces - 914C (数位dp)

    大意: 对于一个数$x$, 每次操作可将$x$变为$x$二进制中1的个数 定义经过k次操作变为1的数为好数, 求$[1,n]$中有多少个好数 注意到n二进制位最大1000位, 经过一次操作后一定变为1 ...

  5. hdu1686字符串kmp

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  6. thinkphp查询缓存

    S()函数的使用:  ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用  不同的缓存方式的时候并不需要关注具体的缓存 ...

  7. CachedThreadPool里的线程是如何被回收的?

    线程池创建线程的逻辑图: 我们分析CachedThreadPool线程池里的线程是如何被回收的. //Executors public static ExecutorService newCached ...

  8. c++ 发送消息,模拟拖拽文件

    #include <ShlObj.h> BOOL SimulateDropFile(CString strFilePath) { }; wcstombs(szFile, strFilePa ...

  9. POJ 3308 Paratroopers 最大流,乘积化和 难度:2

    Paratroopers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7267   Accepted: 2194 Desc ...

  10. (C/C++学习笔记) 十三. 引用

    十三. 引用 ● 基本概念 引用: 就相当于为变量起了一个别名(alias), △与指针不同的是它不是一个数据类型 通过引用我们可以间接访问变量,指针也能间接访问变量,但引用在使用上相对指针更安全. ...