Problema programa FTP

21/03/2007 - 08:55 por [Juanjo] | Informe spam
Hola grupo:

No se si este es el mejor grupo para hacer la pregunta, pero

He hecho un programa para descargar/cargar ficheros de un servidor FTP
para un PDA.

Cuando conecto el PDA a internet con el wifi, el programa funciona
bien,pero si conecto
el PDA con GPRS o desde la base del PDA falla: autentifica contra el
servidor ftp, pero cuando
crea el socket para la descarga de los datos, falla.

Alguna idea?? Ando un poco desesperado.

Muchas gracias.

Preguntas similare

Leer las respuestas

#6 [Juanjo]
21/03/2007 - 10:58 | Informe spam
Espera espera,

Si conecto con wifi, no hay ningun problema: al pda se le asigna una IP
privada del rango
192.168.1.X, y salgo con la IP de publica de mi router y va bien.

Si conecto el pda a la base, puedo configurar la base para que se
conecte a traves del PC,
(se crea una nueva conexion de red y asigna una IP del rango 169.254.2.X,
distinta a la de
mi red privada 192.168.1.X) y salgo a exterior con mi IP publica del router,
pero no creo
que mi router sea capaz de manejar 2 rangos de IP, y el servidor dice algo
asi como que no
es capaz de levantar la conexion con la IP 169 Esta Ip es la que no
puedo moficiar porque
si no el PDA no conecta con el PC.

Del GPRS... de momento lo tengo aparcado.

Gracias de todas las formas.

"Alberto Poblacion"
escribió en el mensaje news:
Mostrar la cita
#7 Alberto Poblacion
21/03/2007 - 11:45 | Informe spam
"[Juanjo]" wrote in message
news:edvDK%

Mostrar la cita
Vale, la 169.254... es también una dirección privada (APIPA), usada
entre la base y el PC. El PC hace NAT y sale hacia la red interna con su
dirección 192.168... . Con esa dirección llega al router y el router vuelve
a hacer NAT para salir hacia el exterior con su dirección pública. El router
es inteligente, y su su software NAT es capaz de examinar la instrucción
PORT del protocolo FTP para sustituir (en ASCII) la dirección IP original
(192.168...) por su dirección pública, para que al servidor FTP "vea" la IP
púbica. Por eso te funciona la transferencia FTP cuando tu dirección es
192.168 Pero, por lo visto, el NAT del software del PC que conecta con
la base no entiende el protocolo FTP, por lo que no examina el contenido
interno de los paquetes de datos para cambiar la dirección 169... de la
instrucción PORT. Asi pues, dicha instruccion le llega al servidor intacta,
y el servidor intenta hacer una transferencia de datos hacia la dirección IP
169.254... que viene escrita en el texto del paquete IP, cosa que
lógicamente falla porque se trata de una dirección privada a la que no puede
alcanzar el servidor FTP.
El remedio es usar FTP pasivo, si el servidor lo soporta (enviando desde
tu programa la instrucción PASV en lugar de PORT), con lo que la
transferencia de los datos se inicia desde el cliente en lugar del servidor,
y el NAT previsiblemente será capaz de tragársela correctamente.

Estas cosas solo pasan con FTP y no con otros protocolos, porque FTP
indica la dirección de la transferencia en ASCII en medio del paquete de
datos. El resto de los portocolos, como por ejemplo HTTP, únicamente indican
la dirección remitente en la cabecera de los paquetes IP, que todos los NAT
manipulan debidamente, por lo que el servidor no tiene problema al
contestar.
#8 [Juanjo]
21/03/2007 - 19:04 | Informe spam
Muchas gracias por la informacion.

Si uso webservices en vez de ftp sabes si tendre este problema?



"Alberto Poblacion"
escribió en el mensaje news:
Mostrar la cita
#9 Alberto Poblacion
21/03/2007 - 19:39 | Informe spam
"[Juanjo]" wrote in message
news:erMYDP%
Mostrar la cita
No creo que lo tengas. El webservice usa el protocolo HTTP, que en
teoría debería estar soportado por el NAT que te está fallando.
Ads by Google
Search Busqueda sugerida