sirve - programacion android pdf 2018
Opciones de comunicación de igual a igual (5)
¿Has mirado la biblioteca AllJoyn de Qualcomm ? Está diseñado para funcionar a través de Bluetooth o wifi, por lo que puede encajar, aunque si se conecta a través de redes 3G o de mayor alcance, no funcionará.
Dada la variación y la confiabilidad de las redes entre dos dispositivos remotos que no están en la misma red, me preguntaría si la solución es igual a igual, y me atrevería a sugerir considerar el uso de un servidor de aplicaciones intermedio, por lo que podría usar Mensajería de nube a dispositivo [obsoleta] (quizás en conjunto con Google App Engine). es decir, para enviar un mensaje, el remitente lo pasa al servidor, y el servidor lo pasa al destinatario.
En teoría, todos los dispositivos en la red tienen una dirección IP única y pueden comunicarse entre sí, pero rara vez es tan simple como los enrutadores / firewalls están configurados de manera diferente, por lo que debe prestar mucha atención a los puertos que usa, especialmente considerando muchos Los puertos están bloqueados por defecto por razones de seguridad.
¿Alguien puede confirmar cuáles son los métodos actualmente permitidos para las comunicaciones de igual a igual en el marco de Android? Necesito transferir cadenas json y actualmente estoy usando SMS, que funciona bien, pero el problema es que los datos también terminan siendo muchos mensajes de texto. He leído la primera edición de Reto Meier de Desarrollo profesional de aplicaciones para Android, donde dice que las opciones de transferencia de datos no se implementaron debido a problemas de seguridad.
¿Ha cambiado esto en absoluto y cómo haría una transferencia de datos de igual a igual?
Gracias por su respuesta, ldx, pero necesitaría un descubrimiento por pares como usted indicó. Algunas investigaciones adicionales parecen indicar que XMPP es una tecnología adecuada y ahora hay algunos servicios que se ofrecen, aunque estos parecen estar dirigidos al servidor para las notificaciones de los clientes. Hay una buena discusión here sobre XMPP y algo más aquí, aunque parece que todavía hay algunos problemas con los que lidiar, como el sondeo v, las conexiones http abiertas de larga duración y la duración de la batería. Xtify parece prometedor, especialmente su servicio web. Espero que esto brinde información adecuada para otras personas que analizan el tema de la comunicación de datos entre pares.
Pruebe PushSharp . Una biblioteca del lado del servidor para enviar notificaciones push a iOS (iPhone / iPad APNS), Android (C2DM y GCM - Google Cloud Message), Windows Phone y dispositivos con Windows 8.
Simplemente puede utilizar sockets UDP / TCP. En un subproceso separado, configura el zócalo de escucha del lado del servidor y eso es todo. Por supuesto, su aplicación debe iniciarse primero (o debe ejecutarse en segundo plano todo el tiempo). Aquí hay un ejemplo:
Si también necesitas un descubrimiento por pares, eso hará que la cosa sea más difícil.
También deberías echar un vistazo a peerdroid, un proyecto de código abierto disponible here . He estado buscando opciones de comunicación entre pares desde el punto de vista de tener una colección de dispositivos federados (pre-emparejados, si lo desea, similar al emparejamiento de Bluetooth); Parece que esta biblioteca puede darle la base para lo que está tratando de hacer.
Si está en su propia red (por ejemplo, un WiFi de casa u oficina), debería poder consultar otros dispositivos conectados. Si la red en la que se encuentra no está bajo su control (la red móvil o una wifi pública), la red se habrá configurado para aislar cada dispositivo de todo lo demás. En este caso, no tendrá más remedio que instalar un servidor para que actúe como el hombre en el medio. Esto conlleva sus propios compromisos de arquitectura: cada dispositivo tiene que sondear regularmente el servidor o mantener una conexión abierta, a menos que use el motor de aplicaciones de Google, que admite notificaciones push en la infraestructura de Google.