Si tenía las dos direcciones IP y ambas eran enrutables, debería ser posible. Sin embargo, no estoy seguro si las direcciones IP entregadas por la red 3G son enrutables. Si está utilizando WIFI, la IP que recibe casi con certeza no es enrutable. Sin embargo, suponiendo que tengas una IP enrutable, debería ser posible.
El truco está en descubrir la IP del otro dispositivo. La mejor manera de hacerlo sería, probablemente, hacer que cada dispositivo registre su IP con un servicio web cuando se inicie la aplicación y luego consultar ese servicio para encontrar las direcciones IP de otros dispositivos.
Puede ser un poco complicado administrar las direcciones IP de "anulación de registro" cuando la aplicación está cerrada o cuando cambia un IP, pero debería ser factible.
ETA:
Si tiene un servidor que ambos pueden conectarse a, usted debe ser capaz de implementar una solución usando ese servidor (es decir, sin los teléfonos realidad que conectan directamente entre sí). Esto evitaría el problema de tener direcciones IP enrutables para los teléfonos.
En cuanto a cómo unir las tomas entre sí, su programa de servidor funcionaría básicamente como un operador de la central telefónica de la vieja escuela. Tendría algún tipo de registro & protocolo de descubrimiento integrado en el software del servidor que permitiría que un teléfono se registre en el servidor, consulte una lista de los otros teléfonos actualmente conectados al servidor, indique con qué teléfono quiere hablar, y acepta conexiones de otros teléfonos.
Una vez que sepa quién quiere hablar con quién, su software de servidor los conectará entre sí al leer desde el enchufe de un teléfono y escribir esos datos en el zócalo del otro teléfono.
¿Por qué es subjetivo? –
Subjetivo porque estoy abierto a cualquier opinión sobre cómo debo/podría estar acercándome a esto. ¡Gracias! –
Eso no es lo que significa subjetivo. Esto es bastante objetivo. Reetiquetado Yo también lo eliminé en tiempo real porque tampoco es "en tiempo real" en ese sentido. –