FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema con puertos usando Indy
Hola amigos:
Hoy me he puesto a probar el tema de sockets, puertos y demás usando Indy para la plataforma Android, pero cual es mi sorpresa que la app que genero para mi móvil no escucha ningún puerto (da igual el que le configure). Averiguo la IP pública con whatsmyip y desde el programa cliente que tengo en el PC le envío un mensaje usando idTCPClient (en el móvil uso idTCPServer) y nada, no es capaz de conectar porque dicho puerto en la IP pública en cuestión está cerrado (no responde) y recibo el error Socket error 10060, timed out. Esto hace que me pregunte si la IP pública que recibimos en los móviles es compartida, o bien está tras un proxy con todo capado menos los puertos básicos. ¿Alguna experiencia al respecto?. Gracias!. |
#2
|
|||
|
|||
Actualizo:
Acabo de hacer pruebas en local (IP local) y funciona perfectamente, o sea, que mi programa cliente y servidor están perfectos. Me quedaría saber qué está pasando con las IP públicas de los móviles, por si se les puede dar "alguna vuelta" para que reciban datos por los puertos. Gracias!. |
#3
|
||||
|
||||
Si buscas por Internet encontrarás artículos sobre cómo conocer los puertos abiertos de tu dispositivo (la mayoría deben estar cerrados, cosa que no es de extrañar).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Gracias Neftali, pero si el puerto a usar estuviera cerrado no funcionaría tampoco con una IP local.
Estoy usando exactamente el puerto 8001, que como te digo, conectando el móvil a la Wifi de casa, responde perfectamente. Sin embargo al quitar la wifi para obtener Internet del operador, envío mensajes a su IP, puerto 8001 y nada de nada. De hecho no responde ni a los pings con la IP pública. Me da la impresión que es una IP compartida para X terminales que estén bajo la misma antena, todo bajo un Proxy extremadamente capado. Un saludo!!. Edito: Por cierto, ese artículo es para conocer los puertos abiertos del terminal, sin que ello signifique que sean puertos disponibles, es decir, que son puertos abiertos por aplicaciones. Mi propia App abre el 8001 como Unknow, y debería aparecer en esa lista usando nmap. Te lo digo porque si alguna vez se te ocurre usar un puerto de esos vas a crear un conflicto con la App que lo tenga abierto. La única forma de mantener los puertos cerrados y sólo abrir bajo permiso es mediante reglas de Iptables. En un móvil concretamente puedes abrir por defecto el puerto que quieras. Última edición por Fossy fecha: 10-03-2015 a las 10:34:34. |
#5
|
||||
|
||||
Cita:
Es como si estuvieras entrando a la misma casa por 2 puertas distintas. La casa es la misma, pero las cerraduras que tenga cada puerta no tienen nada que ver, y las llaves y los cerrojos son totalmente distintos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Perdona neftali pero no estás en lo correcto.
Creo que estás mezclando la IP pública del router ADSL con la IP local de una RED con todas sus consecuencias. En una red local obviamente no puedes acceder a un puerto de un ordenador si vienes desde Internet (bueno, si se puede si haces un enrutamiento). Un móvil (u ordenador) se comporta exactamente igual respecto a puertos tanto si está conectado a una red local o directo a Internet (con módem usb por ejemplo). La configuración de estos no varía, y sólo te falla, como te digo anteriormente, si intentas acceder a ellos desde otra IP distinta como puede ser la pública de la ADSL, que podría llegar pero bajo NAT del router. Un móvil con la IP 192.168.1.50 (local), y el mismo móvil con la IP 37.112.55.80 (pública) tiene exactamente el mismo comportamiento, es decir, si accedes a el a través de la IP local y el puerto te escucha, al desconectarlo y conectar con la pública debe hacer exactamente lo mismo. Si no lo hace es porque hay algo capado de por medio. Para que lo entiendas de otra manera, tu ordenador con Windows y un cortafuegos bien puesto capará los puertos tanto si accedes a el en local como desde el exterior, ¿o te crees que porque accedas en local el ordenador tiene otro comportamiento?. Eso lo hace el ROUTER, no el ordenador ni el móvil. Un saludote!!. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Transferir archivos usando los componentes Indy | cacu | Varios | 2 | 16-02-2015 09:35:24 |
Usando Content-Type con Indy | MAXIUM | Internet | 2 | 13-09-2014 23:33:19 |
Varios puertos a la escucha Indy 10? | Jhonjhon_123 | Internet | 2 | 09-08-2013 03:27:34 |
Conflicto de puertos con Indy | davidrgh | Internet | 0 | 16-01-2012 14:06:47 |
Problema al enviar Email con adjuntos usando el componente Idsmtp de las indy | Nbull | Internet | 2 | 22-11-2004 09:23:38 |
|