Buenos días…
después de mucho pelearme con los ListView, y creo superado este pulso, empiezo a profundizar en el mundo de posibilidades que abre la conectividad vía internet.
El caso es que me he decidido por los sockets (luego espero, por lo menos, pasar a webservices, GCM, etc). El caso es que de momento solo he leído muuucha información al respecto. Y creo que tengo clara la idea. Pero antes de ponerme, tengo una duda que seguro podéis ayudar a solventar.
Veréis… en toda la info y en los ejemplos que he visto, para simplificar siempre han corrido el servidor y el cliente en la misma máquina, o lo que es lo mismo, en la misma red. Por ello, hacer que el cliente se conecte al servidor en una ip 192.168.0.10, por el puerto 5555, es muy fácil. Pero nadie ha puesto el ejemplo de que el cliente y el servidor estén en máquinas distintas y en redes distintas, por lo que decirle al cliente la IP y puerto ya no es lo mismo.
Por ejemplo, imaginad que tengo mi equipo de sobremesa en una red local. El equipo es 192.168.0.10, y pongo ahí el servidor a escuchar el puerto 5555. Claro, este equipo recibe la conexión de internet a través de un router que m eha instalado mi ISP. Ese router tiene un IP que suministra el proveedor y que, desde luego, no es 192.168.xxx.yyy, será otra… p.e. 57.57.57.57 (por decir algo)… ahora cómo digo yo desde el móvil y através de una aplicación cliente que se conecte por sockets a este servidor, qué IP le tengo que decir para que localice el servidor y se conecte???
Por otro lado, entiendo que mi IP provista por el ISP no es estática, por lo que a lo mejor hoy me conecto al servidor, pero si por cualquier causa se reinicia el router, puedo tener otra IP distinta… ¿cómo se soluciona esto?
Gracias y un saludo..