Android WiFi 通信 -- WiFi 和 Wifi Direct 简介

WiFi简介

Wi-Fi可分为五代:第一代802.11,1997年制定,只运行于2.4GHz,最快2Mbit/s

  • 第二代802.11b,只运行于2.4GHz,最快11Mbit/s,正逐渐淘汰
  • 第三代802.11g/a,分别运行于2.4GHz和5GHz,最快54Mbit/s
  • 第四代802.11n,可运行于2.4GHz或5GHz,20和40MHz带宽下最快72和150Mbit/s
  • 第五代802.11ac,只运行于5GHz

由于ISM频段中的2.4GHz频段被广泛使用,例如微波炉、蓝牙,它们会干扰WiFi,令速度减慢,5GHz干扰则较小。双频路由器可同时运行于2.4GHz和5GHz,设备则只能使用某一个频段。

WiFi网络连接功能:

建立接入点,构建无线网状网络;

建立小型无线路由器,共周围设备接入互联网:提供公众访问的热点 或者 创建自己的Wi-Fi热点;

使用ad-hoc模式为客户端到客户端连接Wi-Fi设备,无需路由器。

运作原理:

Wi-Fi的设置至少需要一个Access Point(ap)和一个或一个以上的client(hi)。AP每100ms将SSID(Service Set Identifier)经由beacons(信号台)数据包广播一次,beacons数据包的传输速率是1 Mbit/s,并且长度相当的短,所以这个广播动作对网络性能的影响不大。因为Wi-Fi规定的最低传输速率是1 Mbit/s,所以确保所有的Wi-Fi client端都能收到这个SSID广播数据包,client可以借此决定是否要和这一个SSID的AP连接。使用者可以设置要连接到哪一个SSID。Wi-Fi系统总是对客户端开放其连接标准,并支持漫游,这就是Wi-Fi的好处。但亦意味着,一个无线适配器有可能在性能上优于其他的适配器。

Wi-Fi Direct:之前曾被称为Wi-Fi点对点(Wi-Fi Peer-to-Peer),是一套软件协议,让wifi设备可以不必通过无线网络基地台(Access Point),以点对点的方式,直接与另一个 wifi设备连接,进行高速数据传输。简单地说就是WiFi Direct 以WiFi既有技术为基础,让Wifi装置在没有路由器、热点的情况下,仍能点对点(P2P)地无线连接。这个协议由Wi-Fi Alliance发展、支持与授与认证,通过认证的产品将可获得Wi-Fi认证 Wi-Fi Direct标志。

Wi-Fi Direct架构在原有的 802.11a802.11g802.11n 之上,不支持802.11b。比既有的ad-hoc模式更快,同时也支持 WPA2 加密机制。最大传输距离是300米,最大传输速度为250Mbps,使用2.4GHz与5GHz频段。它支持一对一,以及一对多模式。

WiFi Direct 的优势:

移动性与便携性:Wi-Fi Direct设备能够随时随地实现互相连接。由于不需要Wi-Fi路由器或接入点,因此Wi-Fi设备可以在任何地点实现连接。

即时可用性:用户将得以利用带回家的第一部Wi-Fi Direct认证设备建立直接连接。例如,一部新购买的Wi-Fi Direct笔记本可以与用户已有的传统Wi-Fi设备创建直接连接。

易用性:Wi-Fi Direct设备发现(Device Discovery)与服务发现(Service Discovery)功能帮助用户确定可用的设备与服务,然后建立连接。

简单而安全的连接:Wi-Fi Direct设备采用Wi-Fi Protected Setup获取证书,并验证正在进行搜索的WiFi Direct。

设备发现:

采用扫描技术发现和确定其他Wifi Direct设备,用户可以选择已经发现的设备进行连接;如果目标尚未加入小组,则将组建新的小组,如果目标已经加入小组,正在搜索的Wifi Direct设备将试图加入已经存在的小组。

服务发现:

可选功能,能够向其他Wifi Direct设备通报高层应用支持的服务,可以随时对其他已发现的Wifi Direct设备实施服务发现功能(包括在创建连接之前)。由厂商决定是否实现服务发现功能。

创建小组:

一个小组可由一个Wifi Direct设备创建;在两部设备之间可由自动创建小组,设备将进行协商确定由哪个设备负责管理小组,负责管理小组的设备将决定这支小组是临时(单一实例)或永久(多次重复)小组。

节能管理:

Wife Direct采用P2P-PS 和 P2P-VMMPowerSave机制;P2P规范引入两种节能机制 机会节能(Opportunistic Power Save) 和 缺席通知(Notice of Absence)。

WiFi Direct V.S Bluetooth

两者都是无限网络连接标准,蓝牙主要用于无限个人区域网络(WPAN),最适合在个人装置之间连接;WiFi主要用于提供无线区域网络(WLAN),也用于装置之间连接,Wifi Direct进入Bluetooth既有领域;但是WifiDirect使用Wifi技术,传输距离和速度优于蓝牙,蓝牙的优势是耗电低。

时间: 2024-10-19 07:01:41

Android WiFi 通信 -- WiFi 和 Wifi Direct 简介的相关文章

【Android】 Android-wifi 直连 wifi direct wifi p2p

现在,Android的支持Wi -Fi的直接点对点点对点(P2P)Android系统的供电设备和其他类型的设备,没有一个热点或互联网连接之间的连接.Android框架提供了一套Wi - Fi的P2P的API,允许你去发现和连接到其他设备时,每个设备的Wi -Fi的直接支持,然后沟通跨越距离远远长于蓝牙连接迅速??连接. android.net.wifi.p2p,一个新的软件包,包含所有的API执行同行等连接与Wi - Fi. 你需要与主类是WifiP2pManager,您可以调用getSyste

Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)

Android wifi对象属性及简易Demo 本章介绍Android开发中WiFi热点和WiFi属性的获取,介绍WiFi的名称.状态等属性以及获取周围WiFi热点的方法. 一.怎样获取wifi对象并进行操作 要操作 WIFI 设备,需要先获取 Context.getSystemService(Context.WIFI_SERVICE)获取WifiManager对象,并通过这个对象来管理WIFI设备. addNetwork(WifiConfiguration config) 添加一个config

Libgdx: android单机斗地主支持局域网wifi联网的网络模块核心代码

这个作品是我最近写的,结合我的毕业设计的通信模块和之前的单机版斗地主.我已经上架到豌豆荚了,贴了点广告,看看能不能赚点茶钱.可是一点也不乐观.因此我想分享给大家源码.只要不用于商业. 下面先贴网络模块的核心代码,第一次写这种逻辑用的udp, 经验不够,没有写的那么好看. 这里是我上架的apk,大家下载来试试也无妨: 地址 http://www.wandoujia.com/apps/com.hj.joker package com.hj.net; import java.io.ByteArrayI

Android Quick Tip - ADB over WiFi

http://stuffandtech.blogspot.jp/2012/03/android-quick-tip-adb-over-wifi.html MAR 26 Android Quick Tip - ADB over WiFi Someone I had the pleasure of working with recently showed me something extremely cool for Android development. It is simply that it

android 代码设置、打开wifi热点及热点的连接(转)

用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输.快牙传输速度惊人应该跟它的这种机制有关系吧.不知道它的搜索机制是怎样的,但我想应该可以通过热点的名字来进行判断吧.下面我们就来探讨一下如何自动创建一个wifi热点吧 创建wifi热点首先需要手机支持,建议开发的哥们整个好点的手机,我们公司那些个山寨设备,几近有一半是不支持热点的:其实创建热点很简单,先获取到wifi的服务,再配置热点名称.密码等等,然后再通过反射打开它就OK了. 下面我

Android开发之扫描附近wifi热点并列表显示

最近项目中用到了wifi模块,今天做一个简单的总结. 参考:http://www.2cto.com/kf/201310/253617.html 1.怎样获取wifi对象并进行操作 要操作WIFI设备,需要先获取Context.getSystemService(Context.WIFI_SERVICE)来获取WifiManager对象,并通过这个对象来管理WIFI设备. addNetwork(WifiConfiguration config) 添加一个config描述的WIFI网络,默认情况下,这

Android Studio插件之_ADB WIFI

ADB WIFI这款插件可以免去我们频繁的插拔USB数据线的动作,通过绑定手机的无线IP,在AndroidStudio端可以直接运行Module到手机上,可以很方便的进行app调试和抓包. 第一步,在Android Studio中下载ADB WIFI插件. (通过File–>Settings,或者Ctrl+Alt+S呼出设置界面,选择Plugins–>Browse repositories..) 第二步,下载完毕后,根据系统提示,restart AndroidStudio. 第三步,用USB数

Android获取当前连接的wifi名称

首先AndroidMainfest.xml文件中添加权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取WIFI信息状态的权限 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取网络状态改变的

wifi通信过程的研究--(3)传输过程概念细分

三. 传输过程概念细分 (一).加密算法解析 1.WEP 1) WEP: Wired Equivalent Privacy 2) 随802.11标准提出 3) RC4加密算法 4) 2种强度:40bits和104bits 5) Initialization vector (IV) = 24 bits 6) WEP2: 128bit 2. WPA 1) WPA:草案的IEEE802.11i标准 2) 128bits RC加密算法 3) 每个数据帧采用一个密码 4) TKIP动态密码管理协议 3.W

Android 6.0以上获取Wifi列表问题

在已经打开 Wifi 的情况下获取 Wifi 时,wifiManager.getScanResults() 方法始终返回的是null.因为当时是在网上查询资料敲的代码,多找了几份资料后,看到代码都是一样的,反复确认自己有没有遗漏或者写错.甚至怀疑人生!索性克服心理恐惧点开源码,结果却找到了答案: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * Return the results of the latest access point scan. *