Page 1 sur 1

[..] Transfert de fichier TCP

Posté : dim. 19 juil. 2009 12:53
par TommyDDR
Bonjour,

... Cela fait maintenant plusieurs semaines que je planche la dessus ...
Je voudrais transféré un fichier par protocole TCP (le fichier doit être couper en plusieurs parties)
Donc je lis le fichier, et le stock dans un tableau, (le problème est pour l'envoi / réception)

J'ai :

For $i = 0 To $Max
TCPSend($socket, $Donnee[$i])
Next

J'envoie donc toutes les parties du fichier.

Et lors de la réception, je reçois plusieurs envoi ce qui fausse tout mon algorithme.

La seul solution que j'ai trouvé est :

J'envoie une partie, je la réceptionne, j'envoie "Suite" au client, le client m'envoie la partie suivante, je la réceptionne , etc...

Mais cette technique est très lente pour les gros fichiers.

J'aimerais, si possible, avoir un algorithme d'envoi rapide de fichiers

/!\ Condition à respecté /!\
L'algorithme ne doit pas être concentré sur la réception du fichier, il doit pouvoir faire autre chose si on lui demande ^^'

En espérant avoir été claire ^^

Merci.

Re: [..] Transfert de fichier TCP

Posté : lun. 20 juil. 2009 12:50
par TommyDDR
Hummm... je crois que j'embrouille les gens ^^

Faisons plus simple.

Le client envois en boucle les parties du fichier.

J'aimerais savoir comment différentier les envoi lors de la réception de ceux-ci par le serveur (le serveur reçoit plusieurs envoi)

Merci.

Re: [..] Transfert de fichier TCP

Posté : lun. 20 juil. 2009 22:25
par Tlem
Il faudrait sans doute numéroter les paquets, ou si dans leur entête il y à la date et l'heure, faire les comparaisons. ;)

Pourquoi n'envoyez-vous pas le fichier d'un coup ?
Il me semblait que TCP est justement fait pour gérer lui même l'envoi des paquets et la reconstruction. :shock:

Re: [..] Transfert de fichier TCP

Posté : jeu. 23 juil. 2009 21:01
par TommyDDR
Le serveur n'est pas fait QUE pour recevoir des fichiers donc, quand je reçois un paquet, je regarde "l'entête" envoyer par le client qui me dit si cela est un fichier ou une autre info.

Re: [..] Transfert de fichier TCP

Posté : jeu. 23 juil. 2009 22:25
par Iste
Et ben... crée une nouvelle socket, qui s'occupera uniquement du transfère. Comme ca tu laisse tout le sale boulot au protocole TCP

Re: [..] Transfert de fichier TCP

Posté : ven. 24 juil. 2009 11:20
par Tlem
On ne sait jamais. Peut être que ce code pourrait vous inspirer. ;)
http://www.autoitscript.com/forum/index ... omsearch=1