Comunicación punto a punto entre la aplicación móvil y el navegador de PC
Estoy trabajando en un proyecto donde necesito mi aplicación móvil para hablar con mi navegador web en un PC, donde ambos dispositivos están conectados a través de wifi. La aplicación enviaría los datos que serían recibidos por el navegador del equipo seguido de alguna ejecución del código del lado del cliente. El navegador entonces puede enviar algunos comentarios.
Mi enfoque inicial es hacer que la aplicación hable con un punto final que a su vez habla con el lado del cliente del navegador ( javascript
).
- Android (Java) los recursos de programación de red
- Java - buscar host por dirección MAC
- Datos de enlace descendente de la ruta de Android vía WiFi y datos de enlace ascendente a través de la red móvil
- Fuga de memoria AsyncTask
- Activar simultáneamente la interfaz wifi y 3G en Android
¿Cuál podría ser el mejor enfoque para hacer esto?
Actualizar
No estoy seguro si Socket.io
es una posible solución ya que requiere un servidor para ser alojado. ¿Es posible resolver esto usando sockets?
- Pérdida de paquetes mientras recibe la transmisión UDP en el dispositivo android
- Conversión entre mensaje y cadena en android?
- Trafficstats de aplicación específica
- ¿Usando OKHttp, cuál es la diferencia entre la petición síncrona en AsyncTask y la petición asíncrona de OKhttp?
- Cómo reanudar el proceso de carga de archivos en Android?
- Android: ¿Cómo obtener la velocidad de subida de la conexión a Internet y la latencia?
- OutputStream.write () éxito pero los datos no se entregan
- Encontrar máquinas en la red local basada en el puerto (descubrimiento de red) en android
Ahora has editado tu pregunta para mencionar el P2P . Eso es muy difícil de lograr TELÉFONO A NAVEGADOR (es decir, por duro significa 6 a 12 hombre-meses de trabajo – y / o llanura no es posible). Sin embargo, en la mayoría de las situaciones puede instantáneamente (es decir, "una línea de código en cada plataforma") resolver el problema mediante el uso de un servicio como pubnub. Mucho como nadie tiene back-ends ya y todo se acaba de hacer con parse.com o centro de juegos, redes como usted menciona ahora se acaba de hacer con pubunb (o cualquier competidor).
Este es un problema de uso extremadamente común del caso – y todo el mundo sólo utiliza PubNub como se menciona a continuación o uno de sus competidores.
En estos días no podría ser más fácil, sólo use pubnub.com
¡Es el servicio de mensajería de datos más grande del mundo por una razón!
No hay esencialmente ningún otro acercamiento realista, es tan simple – algunas líneas de código.
Tan breve respuesta sería: Una verdadera peer-to-peer (P2P) la comunicación no es posible en todos los navegadores. Así que en su lugar tiene las siguientes opciones:
- App + Server con un WebUI (quizás)
- App + Chrome (Chrome Apps puede iniciar un servidor web, consulte http://www.devworx.in/news/misc/chrome-apps-can-now-run-a-web-server-135711.html )
- App + WebApp con complemento (Flash, Silverlight o Java)
Yo personalmente prefiero la solución 1.
Necesitas un servidor. Si considera este problema estrictamente desde el punto de vista típico del firewall, un PC o un dispositivo móvil van a ignorar las conexiones a menos que inicien la conexión ellos mismos. Así que ni el PC ni el dispositivo móvil pueden iniciar una conexión con el otro.
Mi comprensión es que los navegadores web no son compatibles con sockets estándar dentro de javascript. Puede utilizar el websocket analógico, pero los sockets y los websockets no son directamente compatibles.
Puede configurar un servidor simple en la PC y hacer que este servidor retransmita mensajes entre el dispositivo móvil y el navegador de PC. Tanto el dispositivo móvil como el navegador de PC se conectan al servidor. Esto es básicamente lo que un servicio externo hará por usted.
PeerJS es lo que estás buscando: