Cut&Glue / SendNetworkfile

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Networkfile

Message par Anonyme 2 »

Merci ca marche :D
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Aide Networkfile

Message par Anonyme 2 »

...
Dernière modification par Anonyme 2 le jeu. 23/janv./2014 20:56, modifié 1 fois.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: [RESOLU] Networkfile

Message 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)
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: [RESOLU] Networkfile

Message par Anonyme 2 »

...
Dernière modification par Anonyme 2 le jeu. 23/janv./2014 20:56, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLU] Networkfile

Message 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()).

Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: [RESOLU] Networkfile

Message 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)
ImageImage
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: [RESOLU] Networkfile

Message par Anonyme 2 »

...
Dernière modification par Anonyme 2 le jeu. 23/janv./2014 20:57, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLU] Networkfile

Message par Backup »

Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: [RESOLU] Networkfile

Message par Anonyme 2 »

Merci pour ton lien :o
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: [RESOLU] Networkfile

Message 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() !!
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLU] Networkfile

Message 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 :)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: [RESOLU] Networkfile

Message 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
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLU] Networkfile

Message 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 ...
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: [RESOLU] Networkfile

Message par Anonyme 2 »

...
Dernière modification par Anonyme 2 le jeu. 23/janv./2014 20:57, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLU] Networkfile

Message 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 .
Répondre