Bonjour,
j'ai développé un agent en WCF qui doit pouvoir envoyer par moments un nombre important de messages (100 par seconde) à un autre agent situé sur une machine distante.
Je n'avais pas de problème lorsque la latence sur le réseau était très faible (1ms), mais depuis que l'on m'impose une latence de 75ms mon premier agent prend du retard à l'envoi des messages. J'ai cru comprendre que cela vient du protocole HTTP avec lequel je ne peux pas envoyer un second message tant que je n'ai pas reçu de ACK (code 202 HTTP) du premier. Cela conduit à un délai d'envoi des messages d'environ 150ms (2x75) par message! Donc je me retrouve avec des délais de plusieurs secondes au final.
J'ai expérimenté les notions de One-Way, ConcurrencyMode.Multiple, et InstanceContextMode.PerCall sans succès visible.
Voici mes questions:
- Ai-je bien identifié mon problème (le fait que mon appli attende un ACK du premier message pour envoyer le suivant)
- Pensez vous à une solution que je pourrai mettre en place?
Merci par avance
Partager