接近:无需 NFC 的设备发现
-
21-12-2019 - |
题
我的目标基本上是通过 WiFi(设备连接到同一 WiFi 网络)从 Windows Phone 8 设备到 Windows 8 设备以及两者的任意组合进行设备发现。
Windows Phone 8/Windows 8 上的 Proximity API 可以进行设备发现,但它确实希望您使用 NFC。例如, PeerFinder.TriggeredConnectionStateChanged
事件仅在 NFC 点击手势期间发生。
我的问题是,如何发现没有 NFC 和 WiFi-Direct 的其他设备?我知道 Windows Phone 8 和 Windows 8 之间的设备发现在技术上是可行的,如果两个设备上运行的是同一个应用程序。这是在 像素演示器 代码示例(再次依赖 NFC 来发现设备)。
这 PeerFinder
类有一个方法 findAllPeersAsync
which - 与布尔值一起 PeerFinder.AllowInfrastructure
- 希望能发现在同一个 WiFi 网络上运行相同应用程序的设备,但由于我对 Windows Phone 8 和 Windows 8 开发(以及随之而来的代码共享)还不太熟悉,所以我无法获得一个简单的多平台应用程序可以工作。
总而言之,这样的设备发现可能吗?Proximity API 是正确的方法吗?
解决方案
对了,所以 findAllPeersAsync
方法不受 AllowInfrastructure
财产。IE。使用 Proximity API 不可能在同一接入点上进行设备发现。
WP8 和 W8 支持的唯一其他方法是使用多播套接字。此类应用程序的示例(用于 Windows Phone 到 Windows Phone 的通信)可以在此处找到: http://blogs.msdn.com/b/wsdevsol/archive/2013/03/19/datagram-socket-communication-in-windows-phone-8.aspx