【问题标题】:Difference between Wifi aware and Wifi P2P on Android?Android上的Wifi感知和Wifi P2P之间的区别?
【发布时间】:2018-10-11 12:29:56
【问题描述】:

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

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

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

它们有什么区别?

【问题讨论】:

  • 基于 android 文档,在 wifi 感知的情况下,您可以在服务发现阶段在设备之间发送数据(仅限轻量级!最大 255 字节)。与 wifi p2p 不同,您必须先执行某种身份验证(pbc、密码等),然后打开套接字,然后才能在设备之间发送数据。
  • @bmdelacruz 可能会发布这个答案?
  • 对于初学者来说,这是正确的答案吗?为什么作者评论而不是回答? @bmdelacruz

标签: android wifi android-wifi wifi-direct wifip2p


【解决方案1】:

来自https://www.wi-fi.org/knowledge-center/faq/what-is-the-relationship-between-wi-fi-aware-and-wi-fi-direct

Wi-Fi Aware 是一种类似于 Wi-Fi Direct 的点对点连接技术。然而,虽然 Wi-Fi Direct 需要一个集中的协调器,称为组所有者,但 Wi-Fi Aware 会创建分散的、动态的点对点连接。许多应用程序(例如 Miracast 和直接打印机连接)都可以很好地与 Wi-Fi Direct 配合使用。 Wi-Fi Aware 的定位是在高度移动的环境中提供点对点连接,在这些环境中,设备以不太确定的方式加入或离开。无论是在拥挤的会议上寻找彼此的专业人士,还是在地铁上临时加入多人游戏的陌生人,Wi-Fi Aware 连接都能无缝适应不断变化的环境和使用条件。

【讨论】:

    【解决方案2】:

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

    以下是我获得这些信息的Wi-Fi aware overview 部分:

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

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

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

    此外,借助 Wi-Fi Aware,开发人员可以在 DiscoverySession 类的 createNetworkSpecifierOpen()createNetworkSpecifierPassphrase() 方法之间进行选择,以分别打开设备之间的未加密或加密连接。

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

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

    欲了解更多信息,请访问Wi-Fi peer-to-peer overview

    【讨论】:

    • 解决 P2P 连接限制的方法很少——例如,使用 P2P DNS-SD 来通告 PSK,以创建相当于“开放”网络。
    • 你从哪里得到“修改 WifiP2pConfig 的 WpsInfo 是没有用的;它将始终使用按钮配置选项”的信息?
    • 我在我拥有的设备(华硕牛轧糖、华硕棉花糖、华为棉花糖和华为棒棒糖)上对其进行了测试。即使wifip2pconfig.wps.setup 不等于WpsInfo.PBC,也会出现PBC 对话框。如果它不适用于所有设备,请随时纠正我,因为它可能只是 OEM 的事情。
    【解决方案3】:

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

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

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

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

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

    【讨论】:

    • 更快的连接意味着发现还是真正的数据传输连接,比使用 WiFi Direct (P2P) 更快?如果是,你知道为什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多