假设的场景是智能手机到达一个场地,四周有许多 WiFi 热点可以连接(有未知密码的\有已知密码并且连接过的\有没有设密码的),为了连接其中某一种 WiFi 热点,下面的情况是不是这样的呢? 1:有未知密码的.智能手机开启 WiFi 功能后,接收周围 WiFi 热点广播的 ssid,然后发送密码给 WiFi 热点建立连接 2:有已知密码并且连接过的.智能手机开启 WiFi 功能后,若开启了自动连接功能,收到广播的 ssid,发送密码给 WiFi 热点并建立连接 3:有没有设密码的.收到广播的 ssid,自动连接,建立连接.
现在主要的问题是,智能手机在连接 WiFi 的这个过程中,首先都是先收到广播的 ssid 才进行下一步操作的吗?或者存在没有建立连接(现实中使用手机意义上的连接,浏览网页,交换应用数据等),但是智能手机先给 WiFi 热点设备发送数据包的情况吗?
我在网上查找了一些关键字,但是都不是自己想要的东西...所以来 V2EX 问下大家,平时一直是潜水状态. 刚开始接触这些东西,大家有相关经验的能不能推荐一点有关于介绍 android 或者网络设备连接 WiFi 的书籍或者博客吗?
本人萌新--学生一只
1
ltux 2017-02-26 21:34:50 +08:00
|
2
lee015 2017-02-27 08:58:25 +08:00 via Android
aosp 源码看看呗, WiFi 处理有个状态机。
|
3
nicevar 2017-02-27 09:29:39 +08:00
看文档啊
简单的就是手机先发个探针请求给 AP ,然后 AP 回个响应,然后跟着来这样一次授权和连接过程 |
4
benmaowang 2017-02-27 23:24:48 +08:00
之前连过的自动开始以下流程。
没连过的手动选了后开始以下流程。 跟有没密码没关系。 手机 -- ProbeRequest --> AP AP -- ProbeResponse --> 手机 手机 -- Authentication --> AP AP -- Authentication --> 手机 手机 -- Association --> AP AP -- Association --> 手机 AP -- EAPOL 握手#1 --> 手机 手机 -- EAPOL 握手#2 --> AP AP -- EAPOL 握手#3 --> 手机 手机 -- EAPOL 握手#4 --> AP 手机 -- DHCP Discover --> AP AP -- DHCP Offer --> 手机 手机 -- DHCP Request --> AP AP -- DHCP ACK --> 手机 手机 -- ARP Request --> AP AP -- ARP Reply --> 手机 ---- 开始上网 ---- |
5
cnta OP @ltux 这本书寒假看了一些,现在感觉需要结合其他书来看,这本书直接看下去好像翻字典...现在找到一本 <<深入理解 Android WiFi NFC 和 GPS 卷>>(邓凡平)结合起来应该够了
@lee015 最开始是这么打算的,不过下载很麻烦...国内源也要很久,不过之后肯定还是要看这个的 @benmaowang 谢谢~您说的让我一下子明白了很多. |