Visualizacionde files mediante sockets

Iniciado por danielo-, 18 Noviembre 2009, 05:47 AM

0 Miembros y 1 Visitante están viendo este tema.

danielo-

Hola a todos... Tengo un pequeño problema...
He estado trabajado con sockets, con transferencia de archivos, he logrado transferir archivos de una máquina a otra en una red local mediante sockets, pero resulta que hoy llega el profe y que nos dice que deberiamos poder visualizar archivos sin descargarlos, esto es:

Existen dos maquinas conectadas, y mediante una lista de archivos cada maquina debe poder visualizar los archivos que tenga la otra máquina sin la necesidad de "descargarlos", es decir, sin la necesidad de que me llegen los archivos a mi disco duro, simplemente poder trabajarlos desde memoria, cuando digo visualizar debo poder ver su contenido o poder escucharlo(en caso de que sea audio)..

Espero me respondan pronto...gracias de antemano

Debci

Cita de: danyelk_6u5 en 18 Noviembre 2009, 05:47 AM
Hola a todos... Tengo un pequeño problema...
He estado trabajado con sockets, con transferencia de archivos, he logrado transferir archivos de una máquina a otra en una red local mediante sockets, pero resulta que hoy llega el profe y que nos dice que deberiamos poder visualizar archivos sin descargarlos, esto es:

Existen dos maquinas conectadas, y mediante una lista de archivos cada maquina debe poder visualizar los archivos que tenga la otra máquina sin la necesidad de "descargarlos", es decir, sin la necesidad de que me llegen los archivos a mi disco duro, simplemente poder trabajarlos desde memoria, cuando digo visualizar debo poder ver su contenido o poder escucharlo(en caso de que sea audio)..

Espero me respondan pronto...gracias de antemano
Te lo explico un poco por encima, puedes hacer dos programas, que se intercomuniquen, y uno, al querer ejecutar un archivo que esta en el pc de otro, envie una señal por los streams de los sockets, y el otro lo interprete y lo ejecute, como una rutina (Runtime()) y mediante eso leer los streams de la ejecucion y enviarlos al otros socket para poder ver la consola y si quieres alguna captura de pantalla.

Saludos

Leyer

listarlos los archivos por sockes es facil pero ver su contenido mmmm a no ser que solo sea un .txt y reproducir la musica peor todavía tendrias que mandartela para poder escucharla.

Saludos y suerte.

egyware

Para esto tendras que trabajar con un buffer, e ir descargando de apoco sin guardar en el HDD
cuando me refiero buffer es especia en la memoria destinado para realizar "tampones" (suena feo)
debes saber de antemano de que formato es el archivo
Existen metodos en ImageIO para abrir una imagen directamente desde un Stream (ByteArrayInputStream), en JMF existen protocolos para transmitir la musica a distancia(como radio), es posible que otras bibliotecas de audio puedan reproducir directamente del buffer.
Ahora creo que tu duda es como crear este buffer
facil
byte buffer[] = new byte[tamaño]; //Tamaño puede ser fijo o dinamico depende para que lo uses te recomiendo fijo pero require de más tecnica.
Desde el socket exactamete de su InputStream es facil llenar este buffer y cuando lo tengamos lleno podemos hacer lo que queramos con el. Indirectamente estamos descargando el Archivo, pero a la RAM no al HDD.

Nota:
No intentes traer un archivo muy grande si usas tamaño dinamico, en vez usa el tamaño fijo y traelo por partes y segun esas partes lo vas dibujando, reproduciendo, etc..

Saludos