[R] Problème TCP: Les paquets qui se chevauchent.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

[R] Problème TCP: Les paquets qui se chevauchent.

#1

Message par L4crymal »

Bonsoir à tous.

Alors voila, j'ai un problème assez compliqué qui touche le protocole TCP.

J'ai modifié les fichiers TCPRecv et TCPSend de l'exemple d'autoit ainsi:

TCPSend envoie toutes les 10ms la chaîne "x"
TCPRecv récupère les packets toutes les 1 secondes.

Or au lieu de recevoir une chaîne "x", TCPRecv reçois plusieurs "x"

C'est pour illustrer un gros problème de la communication TCP en Autoit. Par exemple si le PC qui envoie les données, les envoie + rapidement que celui qui les reçois, les données se chevauchent.

Et j'aimerai savoir comment remédier à ce problème.

Merci d'avance.
Fichiers joints
TCPSend.au3
(1.81 Kio) Téléchargé 94 fois
TCPRecv.au3
(3.06 Kio) Téléchargé 77 fois
Modifié en dernier par L4crymal le jeu. 08 déc. 2011 14:37, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#2

Message par jchd »

Mais ce n'est (heureusement) pas un "gros problème" : TCP fait exactement ce qu'il convient de faire à ce niveau.

Ton problème réside dans le fait que tu confonds les niveaux ou couches d'une communication entre machines.
TCP est avant tout un protocole de Transport et n'est aucunement chargé d'interpréter ce qu'il envoie ou ce qu'il reçoit en termes de messages ou quoi que ce soit d'un niveau supérieur.

Heureusement qu'il y a isolation entre ces couches, bien que le modèle TCP/IP soit plutôt marécageux comparé au modèle OSI. TCP a pour mission d'émettre (via les couches inférieures qui lui sont essentiellement opaques) ce que tu veux envoyer, de se dépatouiller en utilisant les services de Réseau sous-jacents de tout le fatras qui se passe sur le réseau et, côté réception, de te fournir les données reçues telles qu'émises dans le bon ordre, ou une erreur t'indiquant vaguement ce qui a foiré. Point.

Ce qu'en font les couches supérieures, ce n'est plus son problème. Soit tu t'appuies sur un protocole applicatif de ton choix, soit plus bas mais dans ce cas-là il t'appartient de te débrouiller avec ces "détails".

Une simple recherche à l'aide de ton pote te remontera par exemple ceci, qui détaille ce que je viens de dire.

Tu voudrais peut-être employer des MailSlots ; il y a un UDF pour ça juste à côté. Les MailSlots fonctionnent en local comme au travers du réseau.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#3

Message par bloodwolff »

Sinon Tu peux faire une sorte D'en-tête au message, qui indiquerait le nombre d'octet du message, ensuite il ne reste qu'à lire cette en-tête puis le nombre spécifique d'octet et voilà le message.
Compte skype : bloodwolfff
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#4

Message par L4crymal »

Merci pour vos réponses :wink:

@bloodwolff : Oui c'est ce que j'ai fait, un noyau de communication TCP qui envoie des packets avec des entêtes et de l'autre côté le même noyau qui peut les interpréter, mais le problème c'est que ainsi je ne peux que envoyer des "petits" packets.

Par exemple, l'envoie de fichier c'est mort...

Si vous êtes chauds je poste mes 2 scripts Client/Serveur si vous n'avez pas une solution aussi pour le transfert de fichiers.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#5

Message par jchd »

Tu es en train de réinventer FTP...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#6

Message par L4crymal »

Pas vraiment non. Et si j'ai envie de faire un client de messagerie instantanée avec échange de fichiers?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#7

Message par jchd »

Bah si !
Tu as d'un côté ton FTP et d'un autre ton chat avec canal de contrôle pilotant le FTP.
Ou l'équivalent à ta sauce, mais conceptuellement c'est ça.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Problème TCP: Les paquets qui se chevauchent.

#8

Message par L4crymal »

Je vais donc essayer de coupler ça alors (on va bien se marrer au niveau algorithme youhou :P )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Problème TCP: Les paquets qui se chevauchent.

#9

Message par jchd »

Que tu utilises des protocoles éprouvés ou que tu mixes le tout à ta sauce en n'employant que TCP est ton choix. IRC est exactement taillé pour ce que tu sembles vouloir faire mais libre à toi d'implémenter essentiellement la même chose à la mimine.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [R] Problème TCP: Les paquets qui se chevauchent.

#10

Message par matwachich »

Cherche SimpleTCP sur le forum, c'est mon UDF, il résout parfaitement ce problème (Pour les petits fichiers) :D
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre