Hola. Los envíos de archivos sobre XMPP pueden realizarse de 2 maneras: en banda y fuera de banda. En banda significa encapsularlos en el flujo XML de un cliente al servidor y del servidor al otro cliente. Es así [por ejemplo como se reciben las imágenes que la gente pone en su perfil. "Fuera de banda" significa que los clientes se comunican directamente entre sí, para lo cual tienen que mandarse "en banda" la información pertinente para lograrse conectar directamente (dirección IP y puerto). Por razones obvias, la transferencia de archivos genérica ofrecida por los clientes de XMPP para IM es fuera de banda.
El problema que quiero plantearles empieza cuando los clientes están detrás de un router que haga NAT o de un proxy, situación en la que en general van a ser incapaces de comunicarse información correcta para conectarse directamente. Qué se puede hacer? La solución obvia es redireccionar puertos del router a puertos de los hosts en donde están corriendo los clientes IM. Pero como todo el mundo tiene notebook, significa que cuando alguien va a visitarme a mi casa antes de que pueda utilizar esa función de su cliente de IM tiene que pedirme que le redireccione un puerto, y me tiene que decir qué dirección IP le asignó mi servidor DHCP a la notebook del visitante y me tengo que acordar de limpiar esa redirección cuando se vaya, y crea la tradicional sensación de que "todas esas cosas raras" que usamos los geeks son deficientes y difíciles de usar. O en una red de una oficina, significa que le rompan las bolas al encargado de la red cada vez que alguien quiera empezar a usar esa función de su cliente de IM. Otra semi-solución es usar un "proxy de trasnferencia de archivos": un host que reciba el archivo por mí y de donde yo después lo chupe por algún medio que puede no tener nada que ver con XMPP. Pero como se advierte, eso sólo sirve para que externamente los demás no noten que en realidad a uno no le funciona recibir archivos en el cliente de IM. Lo que quiero saber es por qué los windowsos con sus programas propietarios de IM, sus redes cerradas y sus protocolos secretos pueden transferirse archivos sin que nadie tenga que configurar nada en ningún lugar. Nosotros deberíamos hacerlo mejor que ellos! En particular, cómo es que un windowso NATeado en mi red y sin que yo configure nada puede enviar y recibir archivos con su cliente de MSN messenger. Entiendo que pueda ser que pueda si ambos clientes de IM están en la red local, pero no cuando uno está en la red local y el otro en Internet, o incluso detrás de otro router que haga NAT. Consideremos hostil mi red: nada de uPNP por ejemplo para perforar mi router/firewall. Qué mierda hacen? Y eso que hacen, podría hacerse con XMPP? Y si se pudiera hacer hacer con XMPP, lo podría hacer un transporte de MSN messenger a XMPP como el del LUGMen? Desde ya, gracias por las respuestas pertinentes, o por las respuestas impertinentes pero no ofensivas. -- Herr Groucho ID Jabber: [EMAIL PROTECTED] Clave pública GPG: hkp://pks.lugmen.org.ar Fingerprint GPG: B7BD 0FC7 D9A2 66F3 4EFC 45EE 7DE2 3932 597B 6354
