我的目标基本上是通过 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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top