长话短说
我正在尝试使用WiFi Direct服务从Windows 10计算机发现(Android)设备,但似乎Windows和Android在这方面的标准上不一致。
当我提到Wifi Direct Services或Wifi Direct Advertisement时,我的意思是具有WiFi Direct功能的设备可以广播其提供的服务,因此潜在对等体可以在建立任何连接之前扫描可用的设备/服务。
是否有人成功地跨越Windows-Android差距做过这个?
我所尝试的详细信息
所以我在这方面做了一些工作,搜索文档和示例。
Android <-> Android
使用这个Android 的Service Discovery示例,我已经成功让两个Android设备在实际进行WiFi Direct连接之前找到彼此并列出它们的可用服务。
它的工作原理是:要查找其他设备(服务)的设备将广播探针请求。发布服务的设备将看到这些探针请求,并回复一个探针响应。探针响应包括类似Bonjour的信息,通知第一个设备可用的服务。这类似于主动扫描。
Windows 10的介入
我已经使用Microsoft的WiFi Direct Services示例项目(和其他项目)进行了一些尝试,但没有大的成功。 Windows能够看到Android设备,但是:
- 只有当Android设备处于服务发现模式(即发送探针请求)时
- Windows只能看到设备,而无法看到它提供的哪些服务。
基本上我的结论(有点猜测)是Windows 10使用被动扫描,因此错误地对Android设备的探针请求做出反应(当Windows实际上应该自己发送探针请求并对探针响应做出反应)。
所以,实际问题是什么?
我有些难以形成一个明确的问题,抱歉,但是:
- 有人成功地在Android和Windows之间进行过服务发现吗?
- 是否有任何关于Windows(10)如何工作的见解?我可以让Windows使用主动扫描模式并且解析服务公告吗?
- 其他有助于我前进的提示将不胜感激 :-)