[..] Transfert de fichier TCP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

[..] Transfert de fichier TCP

#1

Message 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.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Transfert de fichier TCP

#2

Message 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.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Transfert de fichier TCP

#3

Message 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:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Transfert de fichier TCP

#4

Message 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.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Transfert de fichier TCP

#5

Message 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
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Transfert de fichier TCP

#6

Message par Tlem »

On ne sait jamais. Peut être que ce code pourrait vous inspirer. ;)
http://www.autoitscript.com/forum/index ... omsearch=1
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre