Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2015
Fossy Fossy is offline
Miembro
 
Registrado: feb 2006
Posts: 65
Poder: 19
Fossy Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 10-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.320
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Fossy Ver Mensaje
Gracias Neftali, pero si el puerto a usar estuviera cerrado no funcionaría tampoco con una IP local.
El problema es que la configuración que tú utilizas es diferente si te conectas dentro de una red local por WIFI, que si te conectas a través de internet. Los puertos por un camino y por otro son (y deben serlo) diferentes.

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.
Responder Con Cita
  #3  
Antiguo 10-03-2015
Fossy Fossy is offline
Miembro
 
Registrado: feb 2006
Posts: 65
Poder: 19
Fossy Va por buen camino
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!!.
Responder Con Cita
  #4  
Antiguo 10-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.320
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez si me he hecho un lio o me he explicado mal...

Lo que quiero decir (y corrígeme si no es correcto) es que el camino para llegar al móvil es totalmente diferente si accedes a través de WIFI (en tu red local) que si accedes a través de IP pública.
En el primer caso pasas obligatoriamente por tu router, mientras que en el segundo caso no es así.

Ahora que leo el mensaje lo he escrito mal, veo que he puesto "Los puertos por un camino y por otro son (y deben serlo) diferentes", cuando quería decir "que la configuración de puertos que ves es diferente". En el caso de IP pública debes llegar directamente a los del dispositivo, en el caso de WIFI pasas por la configuración del router primero.

De todas formas es lo que me dicta la lógica, tal vez voy errado...
__________________
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.
Responder Con Cita
  #5  
Antiguo 11-03-2015
Fossy Fossy is offline
Miembro
 
Registrado: feb 2006
Posts: 65
Poder: 19
Fossy Va por buen camino
Efectivamente, ahora sí es correcto :-).

A ver, te explico exactamente que es lo que he hecho:

He creado una App servidor para el Android. La App escucha el puerto 8001 y lo que recibe lo pone directamente en un TMemo.

Luego he creado una aplicación cliente para el PC, que envía texto a la IP y Puerto de destino.


PRUEBA 1: Móvil y PC conectados a la red local (Wifi). Móvil con IP 192.168.1.45, PC con IP 192.168.1.10

Desde la aplicación cliente del PC, configuro la IP de envío 192.168.1.45, Puerto 8001.
Hago varios envíos de cadenas de texto y el Móvil lo recibe todo estupendamente.

PRUEBA 2: Móvil con su conexión a Internet con IP 37.87.10.99, PC obviamente con la IP local pero que sale a Internet con la IP pública de la ADSL (de todos modos no olvidemos que es el cliente, no tiene por qué tener enrutado ningún puerto ya que lo que hace es enviar, no recibir).

Desde la aplicación cliente del PC, configuro la IP de envío 37.87.10.99, Puerto 8001.
Cualquier intento de envío que hago, me da un Time Out. No puede conectar con dicha IP ni Puerto.

Otra prueba que hice es un simple PING a la IP pública del móvil, y tampoco me da ping.

Si la telefonía móvil funciona con IP's públicas compartidas o con un proxy severo, la única solución para comunicarse con un móvil va a tener que ser forzosamente a través de una nube o servicio propio donde el móvil se conecte cada X tiempo en busca de datos.

El caso es que he buscado información en Google y no encuentro nada!!.

Un saludote!!.
Responder Con Cita
  #6  
Antiguo 11-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.320
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Fossy Ver Mensaje
...la única solución para comunicarse con un móvil va a tener que ser forzosamente a través de una nube o servicio propio donde el móvil se conecte cada X tiempo en busca de datos.
Revisa los servicios Bass (Parse / Kinvey) y la interacción con Delphi.
A ver si las opciones que te ofrecen te pueden ayudar a lo que necesitas.
__________________
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.
Responder Con Cita
  #7  
Antiguo 11-03-2015
chaosego chaosego is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
chaosego Va por buen camino
Hola Fossy, perdona si lo has comentado antes y no lo he leído, pero ¿has abierto en el router el puerto 8001 y redirigido a tu servidor IP 192.168.1.10?

Desde 'dentro' de la misma red (en local) no hay problema con los puertos, pero accediendo desde internet debes de hacerlo si o si, si no, no podrás acceder a tu servidor ya que el router no sabría a que ordenador/IP de tu red local redirigir las peticiones que entren por ese puerto el 8001.

Hazte un portscan a tu IP pública desde alguna web y comprueba si da respuesta el puerto 8001.

Por otro lado, considera comprobar el tipo de acceso y las excepciones en el firewall que tengas instalado, ya que es posible que tengas permisos para la red local y denegación de accesos para las peticiones de internet.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 11:19:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi