Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   de forma aleatoria Trocear archivos y pegarlos (https://www.clubdelphi.com/foros/showthread.php?t=64509)

JXJ 04-04-2009 21:45:33

de forma aleatoria Trocear archivos y pegarlos
 
¿Algun ejemplo de como trozar un archivo
y poder enviarlo y armarlo correctamente
por partes de forma no continua.?

ya saben. como los programas P2P

tenemos el archivo origen de 23 megas.
el plan es dividilos para su envio en partes de 1mega

y enviar las partes segun lo soliciten

si piden la primer parte se lee solo desde el el principio hasta
tener 1 mega

si piden la parte 10 se lee de los 9216 kb hasta los 10240 kb
que serian lo que mide el trozo 10 de 10 megas
y si recibo 2 o mas peticiones de la parte 10 aprovechar que ya la tengo
separada del archivo de origen y mantenerla en memoria y solo hacer
un tipo de brodascting.

Mi problema es que no se como
tomar una parte de un archivo la que yo elija .
la 1 . la 10, la parte 23. y
poder construir ese archivo parte por parte, sin que se enga que seguir
un orden ..

parte1 + parte2 + parte3, ... + parte final.= archivo

sino ..

parte4 + parte2 + parte final, ... + parte 10.= archivo

me parece que el arhchivo final. se le agregan las partes
osea el archivo va creciendo de tamaño segun las partes
se can agregando. este tambien es mi problema no se como hacerlo..

Gracias pro su atencion.

cHackAll 04-04-2009 23:51:56

1. El cliente pide la cantidad de trozos al servidor y el servidor le da una respuesta (Ej. 23).
2. De acuerdo a los trozos que tenga (necesita un mapa con los trozos completados) le pide un trozo X que en realidad es un numero del 0 al 22

Por su parte el cliente al recibir la peticion del trozo 6 lo unico que hace es;
1. Abre el archivo y realiza un "salto" hacia el trozo deseado Seek(Trozo * TamañoDelTrozo), en tu ejemplo; _llseek(hFile, dwPiece * 1024 * 1024, FILE_BEGIN);
2. Lee un Trozo y lo envia :p

JXJ 05-04-2009 01:16:18

[cHackAll]

dejame entenderlo.....
voy a ver si logro hacerlo bien con delphi..


La franja horaria es GMT +2. Ahora son las 22:57:00.

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