PB de socket ... synchronisation

PB de socket ... synchronisation - C++ - Programmation

Marsh Posté le 07-11-2002 à 17:14:44    

tres simplement j'ai un client et un serveur. Au niveau de mon client je fais plusieurs send (...) d'affillee sur le serveur, et je voudrai enregistrer chaque flux de donnees separemment au niveau du serveur. En effet selon le traitement mon client envoie plusieurs send mais mon serveur ne voit qu'un flux de donnees continu, sauf si je mets une tempo entre chaque send.
 
Je ne sais pas si quelqu'un s'y connait (pour ma part je debute)  
et pourrais me renseigner (d'avance merci).
 
Si je ne suis pas assez clair, merci de me le dire je modifierai en consequence.

Reply

Marsh Posté le 07-11-2002 à 17:14:44   

Reply

Marsh Posté le 07-11-2002 à 17:37:59    

J'vois 2 solutions :
 
-Désactiver l'algo de naggle (méthode à chier je trouve et j'ai jamais testé)
-Créer ton p'tit protocole, avec au début d'une trame 4 octets par ex. pour indiquer la taille des données à lire
 
 :hello:

Reply

Marsh Posté le 07-11-2002 à 21:53:32    

C'est quoi l'algo de naggle?

Reply

Marsh Posté le 07-11-2002 à 22:15:53    

une solution c'est d'entrelacer les read avec les write
algo cote client
tq non fini
  envoi un paquet de donnees
  attente confirmation lecture
ftq
envoi j'ai fini
 
cote serveur
tq client n'a pas fini
  je lis un paquet de donnees
  envoi confirmation lecture
ftq

Reply

Marsh Posté le 07-11-2002 à 23:39:55    

Ace17 a écrit a écrit :

C'est quoi l'algo de naggle?



Windows NT et Windows 2000 TCP/IP implémentent l?algorithme de Nagle décrit dans la RFC 896. L?objectif de cet algorithme est de réduire le nombre des segments de très petite taille, spécialement sur les liaisons (distantes) à retard élevé. L?algorithme de Nagle ne permet qu?à un seul petit segment à la fois d?être mis en instance sans accusé de réception. Si plusieurs petits segments sont générés durant l?attente d?un ACK du premier, ces segments sont fusionnés en un segment plus grand. Tout segment de taille pleine est toujours aussitôt transmis, en supposant qu?une fenêtre de réception de taille suffisante soit disponible. L?algorithme de Nagle est efficace, car il réduit le nombre de paquets envoyés par les applications interactives, telles que Telnet, en particulier sur les liaisons lentes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed