Proximidad:Descubrimiento de dispositivos sin NFC
-
21-12-2019 - |
Pregunta
Mi objetivo es básicamente el descubrimiento de dispositivos a través de WiFi (los dispositivos están conectados a la misma red WiFi) desde un dispositivo con Windows Phone 8 a un dispositivo con Windows 8 y cualquier combinación de los dos.
La API de Proximity en Windows Phone 8/Windows 8 detecta dispositivos, pero realmente quiere que uses NFC.Por ejemplo, el PeerFinder.TriggeredConnectionStateChanged
El evento solo ocurre durante los gestos de toque NFC.
Mi pregunta es ¿cómo puedo descubrir otros dispositivos sin NFC y WiFi-Direct?Sé que el descubrimiento de dispositivos entre Windows Phone 8 y Windows 8 es técnicamente posible si se ejecuta la misma aplicación en ambos dispositivos.Esto se logra en el PixPresenter muestra de código (que nuevamente se basa en NFC para descubrir dispositivos).
El PeerFinder
la clase tiene un método findAllPeersAsync
cual - junto con el booleano PeerFinder.AllowInfrastructure
- Con suerte descubriría dispositivos que ejecutan la misma aplicación en la misma red WiFi, pero como todavía no me siento cómodo con el desarrollo de Windows Phone 8 y Windows 8 (y el código compartido que viene con él), no he podido obtener una aplicación multiplataforma sencilla para funcionar todavía.
En resumen, ¿es posible un descubrimiento de dispositivos como este?¿Es la API de Proximity el enfoque correcto?
Solución
Correcto, entonces el findAllPeersAsync
El método no se ve influenciado por el AllowInfrastructure
propiedad.Es decir.es imposible realizar la detección de dispositivos en el mismo punto de acceso utilizando la API de Proximity.
El único otro enfoque compatible con WP8 y W8 es el uso de sockets de multidifusión.Puede encontrar un ejemplo de dicha aplicación (para comunicación entre Windows Phone y Windows Phone) aquí: http://blogs.msdn.com/b/wsdevsol/archive/2013/03/19/datagram-socket-communication-in-windows-phone-8.aspx