2016-06-04 4 views
1

Je travaille sur une bibliothèque de réseautage pour mon application .net et en ce moment j'essaye de tester la latence de «vrai monde». Donc, actuellement, j'envoie l'heure du serveur au client et j'écris à quelle heure ce message est transmis au reste de l'application. Au cours de ce que je pense est une connexion internet assez agréable (40/40 et 50/10), il faut environ 400 millisecondes. Je n'ai pas vraiment besoin d'être super rapide ou quoi que ce soit. Je me demande simplement où cela se compare.Est-ce que 200 à 400 millisecondes "lent" TCP Latence? (Pas Ping)

  • Je ne parle pas de la vitesse de ping, je parle du temps de démarrage sur le serveur lorsque l'application appelle la méthode « envoyer » dans ma bibliothèque au moment où le client déclenche l'événement « recevoir »

Répondre

1

TCP envoi a deux composantes: la latence

  1. Le réseau. Découvrez-en en utilisant ping google.com -t.
  2. Nagling. Ceci est utilisé pour tamponner les écritures jusqu'à ce qu'un paquet soit plein ou jusqu'à ce que 200 ms soient passés. Votre cas ressemble à du harcèlement. Peut-être que les deux côtés se négativent causant le retard combiné à 400 ms plus le réseau.

Vous devriez probablement désactiver la compression et optimiser vos appels Write afin qu'ils écrivent toutes les données à la fois. Sinon, vous enverriez beaucoup de petits paquets sans hésitation.

+0

Documentation pertinente sur MSDN concernant l'utilisation de l'algorithme Nagle sur les sockets: https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.nodelay(v=vs.110). aspx –