V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cnta
V2EX  ›  Android

Android 等智能手机连接 WiFi 的相关过程的一些疑问

  •  
  •   cnta · 2017-02-26 20:23:07 +08:00 · 8518 次点击
    这是一个创建于 2818 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设的场景是智能手机到达一个场地,四周有许多 WiFi 热点可以连接(有未知密码的\有已知密码并且连接过的\有没有设密码的),为了连接其中某一种 WiFi 热点,下面的情况是不是这样的呢? 1:有未知密码的.智能手机开启 WiFi 功能后,接收周围 WiFi 热点广播的 ssid,然后发送密码给 WiFi 热点建立连接 2:有已知密码并且连接过的.智能手机开启 WiFi 功能后,若开启了自动连接功能,收到广播的 ssid,发送密码给 WiFi 热点并建立连接 3:有没有设密码的.收到广播的 ssid,自动连接,建立连接.

    现在主要的问题是,智能手机在连接 WiFi 的这个过程中,首先都是先收到广播的 ssid 才进行下一步操作的吗?或者存在没有建立连接(现实中使用手机意义上的连接,浏览网页,交换应用数据等),但是智能手机先给 WiFi 热点设备发送数据包的情况吗?

    我在网上查找了一些关键字,但是都不是自己想要的东西...所以来 V2EX 问下大家,平时一直是潜水状态. 刚开始接触这些东西,大家有相关经验的能不能推荐一点有关于介绍 android 或者网络设备连接 WiFi 的书籍或者博客吗?

    本人萌新--学生一只

    5 条回复    2017-02-28 12:11:26 +08:00
    ltux
        1
    ltux  
       2017-02-26 21:34:50 +08:00
    lee015
        2
    lee015  
       2017-02-27 08:58:25 +08:00 via Android
    aosp 源码看看呗, WiFi 处理有个状态机。
    nicevar
        3
    nicevar  
       2017-02-27 09:29:39 +08:00
    看文档啊
    简单的就是手机先发个探针请求给 AP ,然后 AP 回个响应,然后跟着来这样一次授权和连接过程
    benmaowang
        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 --> 手机

    ---- 开始上网 ----
    cnta
        5
    cnta  
    OP
       2017-02-28 12:11:26 +08:00
    @ltux 这本书寒假看了一些,现在感觉需要结合其他书来看,这本书直接看下去好像翻字典...现在找到一本 <<深入理解 Android WiFi NFC 和 GPS 卷>>(邓凡平)结合起来应该够了

    @lee015 最开始是这么打算的,不过下载很麻烦...国内源也要很久,不过之后肯定还是要看这个的

    @benmaowang 谢谢~您说的让我一下子明白了很多.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1151 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 22:57 · PVG 06:57 · LAX 14:57 · JFK 17:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.