Page 2 sur 3

Re: Networkfile

Publié : jeu. 01/sept./2011 20:30
par Anonyme 2
Merci ca marche :D

Aide Networkfile

Publié : jeu. 05/avr./2012 11:40
par Anonyme 2
...

Re: [RESOLU] Networkfile

Publié : jeu. 05/avr./2012 15:52
par graph100
alors, mon avis sur la question, c'est que les commandes que tu as utilisé dans le début du topic (receive/send network file) sont trop haut niveau pour ce que tu veux faire.
Je veux dire que ce sont des grosses boîtes noires programmées par Fred&co, pratique pour des applis rapides et sans soucis, mais insuffisantes pour le reste.

Du coup, je pense que ce qui serais viable, c'est de gérer toi-même l’envoie d'un tel fichier.
Regarde du coté de ReceiveNetworkData(), --> tu découpes ton gros fichier en plusieurs morceaux, puis envoie les données brutes avec la commande sur les datas.
Tu peux même faire ça en faisant des contrôles d'intégrité etc...

Du coup comme tu fais des petits paquet, du genre 100k de donnée, bah tu peux faire une barre de progression.
Par contre, il faut à mon avis trouver un compromis entre la taille des paquets de donnée (donc les intervalles de ta barre de progression), et la rapidité du transfert.
Car chaque connexion successive avec prendre du temps pour s'établir.

à toi de jouer ;) (tiens nous au courant)

Re: [RESOLU] Networkfile

Publié : jeu. 05/avr./2012 18:43
par Anonyme 2
...

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 0:20
par Backup
Dzoumaka a écrit :T
Du coup, comment est-ce que l'on procède pour découper puis reconstituer un fichier aussi gros :?:

Sur ce, pour certains, bonnes vacances 8)

Syntaxe

TruncateFile(#Fichier)
Description

Coupe le fichier à la position actuelle et supprime toutes les données qui suivent. Cette fonction peut être employée pour rendre un fichier plus court sans le recréer entièrement. Pour faire un fichier plus long, ajoutez simplement plus de données avec les commandes d'écriture ('write') de cette bibliothèque.


FileSeek(#Fichier, Position.q)
Description

Change la position du pointeur de lecture/écriture dans le #Fichier spécifié.

Syntaxe

Resultat = WriteByte(#Fichier, Valeur.b)
Description

Ecrit une valeur de type byte (1 octet) dans le #Fichier. Le fichier doit être accessible en écriture (donc pas ouvert par ReadFile()).


Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 8:02
par case
heuuu dobro truncate file c'est pas vraiment le truc a utiliser ca sert a couper un fichier mais tu perd la partie après le pointeur
et supprime toutes les données qui suivent
non faut juste lire x octets dans le fichier puis envoyer ces x octets.

par exemple avec readdata(#file,*buffer,size)

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 9:44
par Anonyme 2
...

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 10:14
par Backup

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 10:37
par Anonyme 2
Merci pour ton lien :o

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 15:57
par graph100
attend attend !! Dobro, ton code est intéressant, cependant, içi il ne répond pas au besoin.

Ce que Dzoumaka attend, c'est ouvrir un fichier sur un Pc server, et l'envoyer à un client.
Avec ton code, il va d'abord le découper en plein de morceau et remplir le disque pour rien. c'est dommage.

Comme l'a dit case et moi plus haut, il faut utiliser ReadData().
Comme ca tu progresses dans ton fichier avec readdata(), même pas besoin d'un fileseek().
et tu utilises sendnetworkdata() !!

Re: [RESOLU] Networkfile

Publié : ven. 06/avr./2012 17:56
par Backup
ha ?

et qu'est ce qui empeche de mettre les morceaux du fichiers dans un dossier "Send"
et de faire une routine qui envoie tout le contenu (morceau de fichier par morceau de fichier ) de l'autre coté de la planete grace au serveur ?
(en effaçant le morceau de fichier envoyé .... le dossier 'Send' deviens une sorte de buffer du coup )

avantage , on connais le nombre de fichier AVANT l'envoie on peut donc afficher un Slider de progression ;)

le client lui dispose de Glue_file() pour remettre en entier le fichier ,... ou lire le contenue au fur a mesure ...

ça reviens au meme ; sauf que je découpe physiquement le fichier Avant transfer ...

de plus , je répondais a la question du découpage de fichier.... (pas forcement pour un transfere) :)

ps : j'avais fait ces procedures pour utiliser plusieurs Disquettes pour un gros fichier ...
évidement , l'Usb est apparue depuis , et les clefs ont la taille de Disque Dur de l'époque :)

Re: [RESOLU] Networkfile

Publié : sam. 07/avr./2012 13:44
par graph100
oui, cette solution est possible. Mais (et ce 'mais' n'est pas petit), je pense que la perte de temps pour découper et réassembler le fichier ne la justifie pas.

je vais essayer de faire un code pour exemple, bien que je suis convaincu que ça a déjà été fait sur un des 2 fofos

Re: [RESOLU] Networkfile

Publié : sam. 07/avr./2012 23:09
par Backup
graph100 a écrit :je pense que la perte de temps pour découper et réassembler le fichier ne la justifie pas.

8O tu as testé ?

si c'est pour découper un mp3 ou un Avi , la découpe est quasi instantanée ..
elle sera faite bien avant que ton prg ne se connecte quelque part .. :)

mais bon .. c'est une solution , j'ai pas dit que c’était LA solution ... ;)

comme je l'ai précisé, c'est un prg de découpe, apres on utilise ou pas ..
c'est pas spécifiquement adapté au réseaux ...

Re: [RESOLU] Networkfile

Publié : lun. 16/avr./2012 19:31
par Anonyme 2
...

Re: [RESOLU] Networkfile

Publié : lun. 16/avr./2012 19:42
par Backup
tu pare de mes fonctions ?

si c'est le cas , il suffit de mettre les parametres (NomFichier$,taille_bloc) en global
et donc de retirer ces parametres ... pour les threads c'est surtout qu'on perd le passage de parametre

enfin ont peut.. mais ça complique .... alors qu'en global ça marchera toujours .