Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-02-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
curiosidades

hola,

tengo una duda, veamos, los programas p2p tipo emule hacen un identificador del archivo. como hacer eso? lo sencillo seria identificar el archivo por nombre y tamaño pero estos p2p si el archivo tiene distinto nombre por que alguien despues de bajarlo se lo cambio lo sigue reconociendo como tal y lo engloba dentro de los archivos con mismo id.

alguien podria indicarme como se hace eso?


otra cosa, al englobar los archivos usan como una especie de grid es posible hacer lo mismo o algo parecido.
bueno esto me importa menos pero lo otro si que parece muy curioso y me gustaria informacion sobre el tema.

un saludo y muchas gracias
Responder Con Cita
  #2  
Antiguo 16-02-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Yo soy bruto pa esas cosas, pero eso nunca me ha detenido antes para responder

Es probable que usen un algoritmo de checksum o un hash (aun mas probable) para determinar la equivalencia entre dos archivos...
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 17-02-2005
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
ping...

es justamente eso... el generar un "checksum" o llave (hash) del contenido del archivo. Para eso hay mil un programas que, dandole un input (archivo), te generan el hash o llave que identifica el archivo.

Segun la teoria de criptografia, el hash supone que, para una cadena X de N caracteres, siempre generará una cadena de longitud fija (y), y que será irrepetible en cuanto el input sea diferente.

O sea, ya sea que se pase "ector" o "hector" o "cualquierotracadenadecaracteresqueseavalidaparalaprueba", debe generar una cadena de longitud fija, que sera unica, y que identificara el contenido del parametro.

Referencias enhttp://www.openbsd.org
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #4  
Antiguo 17-02-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
gracias

si di cuenta de que usaban el algoritmo de md5.
gracias

sobre la segunda parate
Cita:
otra cosa, al englobar los archivos usan como una especie de grid es posible hacer lo mismo o algo parecido.
sabeis algo? es que queda muy chulo eso de dar a la pestaña y que se despliegue toda la lista de de los archivos con igual hash

un saludo
Responder Con Cita
  #5  
Antiguo 17-02-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Ya eso es un asunto de GUI. Un grid como el de www.devexpress.com o un arbol hacen el truco...
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 17-02-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
gracias

muchas gracias.

la verdad es que no esperaba una respuesta tan rapida. con todo esto me estoy creciendo y creo que os voy a formular una pregunta mas dificil...
como se hace para tranferir 2 archivos por tcp y que se pueda resumir la descarga si esta se interrrumpe? lo he intentado con las indy pero nada.
esta misma pregunta la formule hace tiempo y nadie me respondio, a ver si tengo suerte ahora.

el post que puse con su codigo esta aqui:
http://www.clubdelphi.com/foros/showthread.php?t=15952

por favor animaos y hechadle un ojo

gracias
Responder Con Cita
  #7  
Antiguo 17-02-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Eso no lo hace automaticamente el protocolo FTP?

Tal vez deberias buscar una implementacion open source de un servidor FTP, a ver que tal...

Por otro lado, a lo bruto, la idea seria crear una tabla que guarde los bytes que se llevan y empezar a copiar a partir del ultimo... pero no se que tan dificil resulte...
__________________
El malabarista.
Responder Con Cita
  #8  
Antiguo 17-02-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
lo de guardar los byte no es dificil, es mas las indy tiene una llama que indica el btye de la transferencia en que se encuentra. el problema radica en que una vez interrrumpida la transferencia el archivo tranferido se queda con un tamaño de cero con lo cual aunque sepas la posicion en donde se deberia reanudar no sirve para nada. lo de montar un ftp no me sirve, antes utilizaria el protocolo http, pero tampoco quiero. el tema esta en usar tcp. no quiero evitar los problemas sino aprender cosas nuevas.

un saludo y graias
Responder Con Cita
  #9  
Antiguo 17-02-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cuando recibes el stream, debes ir guardando en un archivo temporal.... asi no se pierde el progreso. Veo que es como lo hacen los demas programas
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 18-02-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
muchas gracias lo probare
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


La franja horaria es GMT +2. Ahora son las 07:50:13.


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