Android 上的 Wifi 感知和 Wifi P2P 之间的区别?

The*_*lis 10 android wifi android-wifi wifi-direct wifip2p

WiFi感知和WiFi P2P技术之间的主要区别是什么?

使用 WiFi P2P,您可以在不需要公共网络的情况下在两个或多个附近设备之间建立连接。但 android 文档规范也说明

Wi-Fi 感知功能使运行 Android 8.0(API 级别 26)及更高版本的设备能够发现并直接相互连接,而无需它们之间的任何其他类型的连接。

它们之间有什么区别?

bmd*_*ruz 9

基于 Android 文档,使用 Wi-Fi Aware,您可以在服务发现阶段在设备之间发送数据(仅限轻量级!最多 255 字节),并且在需要时,您可以打开设备之间的连接以发送更大的数据。使用 Wi-Fi 点对点,您必须先执行某种身份验证,然后打开套接字,然后才能在设备之间发送数据。

以下是我获得这些信息的Wi-Fi 感知概述的部分内容:

Wi-Fi Aware API 允许应用执行以下操作:

  • 发现其他设备: [...] 订阅者发现发布者后,订阅者可以发送短消息或与发现的设备建立网络连接。
  • 创建网络连接:在两台设备相互发现后 [...] 它们可以在没有接入点的情况下创建双向 Wi-Fi Aware 网络连接。

注意:消息通常用于轻量级消息传递,因为它们可能不会被传递(或乱序传递或多次传递),并且长度限制在大约 255 个字节。

此外,具有Wi-Fi意识到,开发人员的方法之间选择createNetworkSpecifierOpen()createNetworkSpecifierPassphrase()所述的DiscoverySession类,以分别打开未加密或加密连接,在设备之间。

有了 Wi-Fi 点对点,开发者除了WifiP2PManager.connect()方法之外别无选择。调用它会在所连接的设备上触发一个对话框(按钮配置),并且该对话框仅在两个设备第一次相互连接时才会出现。

顺便说一句……修改WpsInfoaWifiP2pConfig的没用;它将始终使用按钮配置选项。我在我拥有的设备(华硕 ZC520TL-牛轧糖、华硕 ZE551ML-棉花糖、华为 Y5-棉花糖和华为 T1-KitKat)上对其进行了测试。即使wifip2pconfig.wps.setup不等于 ,也会出现 PBC 对话框WpsInfo.PBC。如果这不适用于所有设备,请随时纠正我,因为它可能只是 OEM 的事情。

有关更多信息,请访问Wi-Fi 对等概述


小智 5

WiFi Aware 建立连接的速度明显更快。

发现阶段更加灵活:您可以将自己的信息(255 字节)添加到您的服务公告中,并与其他对等方交换短消息(255 字节),而无需建立连接。

但是,WiFi Aware 中的所有连接都是一对一的。一个设备只能同时连接的数量非常有限(在 Pixel 2 的情况下为两个)。

相比之下,WiFi P2P 的工作方式更类似于自动热点:设备之间协商哪些将创建一个 WiFi 网络,然后其他设备可以加入。如果您设法获得 WiFi SSID/密码,则有可能手动加入网络。

我的理解是WiFi P2P在电池方面的性能更差(至少在中心节点的情况下)。