Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
Question ¿Cómo descargar Archivo de Muchas Fuentes?

Hola,

yo creo esto tiene algo que ver, con lo de peer to peer,
y manejadores de descargas.

No se si exista algo parecido.. con codigo fuente Delphi, o c, para
revisarlo.. o entiendo mal el enfoque al problema.

por ejemplo que quiero descargar
1 archivo
Existen 7 fuentes distintas, del mismo archivo,
y creo que es el mismo pues me guio que tienen el mismo hash
Se que existen 7 fuentes distintas, por que las revise 1 por 1
y les cree el archivo has.

¿como descargar simultaneamente de las 7 fuentes distintas
y armar en la pc que contendra el archivo a descargar
el archivo que descargo?


yo solo he descargado archivos desde una sola fuente.
no de varias fuentes, como lo hace el emule.
ni como lo hace el flashget
Responder Con Cita
  #2  
Antiguo 13-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Vamos por partes. El archivo que quieres bajar donde se encuentra ¿en un servidor web? ¿en una red p2p? ¿en un servidor ftp? ...

Tanto el emule, como otro programas lo que hacen es partir el archivo en pedacitos. Luego solo tiene que ir pidiendo los diferentes trozos a cada una de las fuentes, una vez que tiene todos los trozos solo tiene que recomponer el archivo original.

Sea como sea, para poder hacer nosotros algo así, el protocolo que estemos usando debe soportar el enviar "trozos" de un archivo. Por ejemplo algunos servidores web permiten solicitar partes de un archivo, de esta manera podemos solicitar diferentes trozos de cada fuente.
Responder Con Cita
  #3  
Antiguo 14-03-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
bien. seaone...eso no me lo sabia..

Mi interes, es por hacer algo para repartir/actualizar archivos, en
cadena.

pienso en un escenario, usando, TCP/IP, indy o otra suite.

hay 7 archivos por repartirse, descargarse actualizarse.
los 7 son lo mismo. pero estan cada uno en un servidor diferente.
entonces son 7 servidores, por principio, como en un sitio web.
un servidor apache o iis, no se si sea mejor usr un servidor ftp.

entonces esos 7 servidores son los servidores semilla. de dodne
otros 25 servidores, van a abastecerse, por el nuevo archivo.
empezando por los más cercanos geograficamente. y continuando,
con los más alejados

Entonces, pienso que si 4 servidores semillas, estan saturados.
los otros 25 servidores, intenten completar la descarga de los otros 3 servidores semillas.
y ya más raro, es que entre los 25 que tratan de descargar. busquen
entre si cual tiene lo que al otro le falta. y se lo repartan.
Responder Con Cita
  #4  
Antiguo 14-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Caramba lo que describes se parece bastante al protocolo bittorrent, aunque supongo, por tu uso de la palabra "semilla", que ya lo tenias en mente. Pues bien, nada te impide montarte un servidor de bittorent privado, y utilizar clientes de bittorrent para realizar las descargas.

Si quieres hacerlo tu mismo, primero tenemos que detallar mas el escenario. Hablas de 7 + 25 servidores, por lo que si no es una red local, entiendo que cada equipo conoce la dirección de los otros 32, si no es así la cosa se complica. También hablas de usar apache, IIS, etc ... por lo que entiendo que no quieres hacer el software del servidor, solo el de los clientes.

Partiendo de lo anterior, yo me imagino el siguiente sistema. Colocamos en un servidor (o en los 7 primeros) los archivos a descargar, pero troceado cada archivo en archivos mas pequeños. Colocamos también un archivo de texto con los nombres de cada trozo, el archivo al que pertenece cada trozo, su posición dentro del archivo e incluso su Hash (md5 por ejemplo). Un cliente solo tendría que pedir la lista a un servidor, y luego ir pidiendo esas partes a cualquiera de los servidores. Una vez descargadas todas las partes solo tendríamos que juntarlas.

Ahora viene lo divertido, si cada cliente tiene a su vez un pequeño servidor web montado, solo tendríamos que ir colocando las partes descargadas y comprobadas (usando el Hash) a disposición del resto. De esta manera los clientes podrían compartir partes entre si.

La parte mas complicada, es la de repartir el trafico. Si dejamos decidir a los clientes de donde bajar las partes, no habrá forma de repartir la carga entre todos los servidores adecuadamente. Y si dejamos que un solo servidor se encargue de regular todo el trafico, tendríamos que implementar nosotros un servidor propio, ya no nos valdría el apache ... ¿o si?

En cualquier caso es mucho trabajo, y no creo que sea eso lo que buscas. Por que no pruebas con la idea del servidor de bittorrent, creo que es lo mejor.
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
Como descargar una imagen a partir de la url Oxis Internet 2 20-07-2006 20:04:56
Como descargar una pagina web completa??? jhonny Internet 2 15-07-2006 17:58:23
Copiar/Descargar Archivo en Página Web AGAG4 Internet 5 11-10-2004 17:26:42
Alguien sabe como crear un alias en Fuentes de datos ODBC (32 bits) por codigo ? edson Conexión con bases de datos 2 15-04-2004 15:57:26
Problemas al descargar un archivo Mauro® Internet 2 23-10-2003 22:21:28


La franja horaria es GMT +2. Ahora son las 06:06:45.


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