gpt4 book ai didi

c# - 发现 WiFi Direct 服务 - Windows <=> Android

转载 作者:可可西里 更新时间:2023-11-01 09:36:43 29 4
gpt4 key购买 nike

长话短说

我正在尝试使用 WiFi Direct 服务从 Windows 10 计算机发现 (Android) 设备 - 但在我看来,Windows 和 Android 不同意此处的标准。

当我写 Wifi Direct 服务或 Wifi Direct 广告时,我指的是支持 WiFi Direct 的设备可以广播它提供的服务的功能,因此潜在的对等方可以在建立任何连接之前扫描可用的设备/服务。

有没有人成功跨越 Windows-Android 的鸿沟?

我尝试过的细节

所以我一直在研究这个问题,搜索文档和示例。

安卓 <-> 安卓

使用这个 Service Discovery example for Android ,我已经成功地让两台 Android 设备在建立任何实际的 WiFi Direct 连接之前找到彼此并列出它们的可用服务。

它的工作方式是,一个想要寻找其他设备(服务)的设备会广播探测请求。发布服务的设备随后将看到这些探测请求并以探测答案进行响应。探测答案包括 Bonjour(类似)信息,通知第一个设备有关可用服务的信息。这是(类似于)主动扫描。

进入Windows 10

我一直在玩 WiFi Direct Services Microsoft 的示例项目(和其他项目) - 但没有取得巨大成功。 Windows 能够看到 Android 设备,但是

  • 如果 Android 设备处于服务发现模式(即发送探测请求)
  • Windows 只能看到设备,不能它提供的服务。

基本上我的结论(有点猜测)是 Windows 10 使用被动扫描,因此(错误地?)对 Android 设备的探测请求使用react(当 Windows 实际上应该自己发送探测请求并对探测响应使用react时) .

所以,真正的问题

我无法形成一个清晰的问题,抱歉,但是

  • 有人成功地在 Android 和 Windows 之间进行了服务发现吗?
  • 有人了解 Windows (10) 在这里的工作原理吗?我可以让 Windows 使用主动扫描模式解析服务公告吗?
  • 非常感谢其他对我有帮助的提示 :-)

最佳答案

仅供发现此问题的任何人引用,您链接的 Windows API 使用名为 Wi-Fi 点对点服务 (P2Ps) 的 Wi-Fi 联盟标准进行服务发现请求和响应。当探测请求帧中包含匹配的哈希值时,将通过探测响应帧公布和发现服务。也可以通过 P2P 类型的 ANQP/GAS 帧发现服务。

Android API 使用 Wi-Fi 联盟Wi-Fi 点对点 (P2P) 标准中定义的服务发现。这是一种早于 P2P 的服务发现形式。它使用 Bonjour 或 UPnP 类型的 ANQP/GAS 帧。

这两种方法都有效且基于标准,但它们彼此不兼容。您可以(可能)获得最接近兼容性的是使用 Wi-Fi Direct 并且没有服务发现(您基本上只能在发现时看到设备名称,而不是“服务”)。

Windows 示例:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/WiFiDirect

Android 示例:https://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html

关于c# - 发现 WiFi Direct 服务 - Windows <=> Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40286987/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com