2010-02-26 4 views
1

J'ai un serveur client UDP simple écrit en C++ sur Ubuntu 9.10 où le client envoie un ensemble au serveur. Comment puis-je vérifier combien de temps il faut pour l'envoyer. J'ai besoin de trouver l'heure du début du transfert à la fin. En supposant que mon serveur et mon client sont sur la même machine, puis-je en quelque sorte économiser l'heure du système et trouver la différence ou quelque chose?Comment trouver le temps nécessaire pour envoyer des données via UDP

+0

définir "le temps qu'il faut pour l'envoyer". voulez-vous dire le temps que prend l'appel sendto(), le temps qu'il faut pour que le paquet quitte votre carte d'interface réseau, le temps qu'il faut pour qu'il arrive au serveur, ...? – stmax

Répondre

0

Si vous demandez combien de temps le paquet doit arriver au serveur, il n'y a pas de moyen intégré pour obtenir cette information.

Si le serveur envoie une réponse, vous pouvez chronométrer le délai entre l'envoi de la demande et l'obtention de la réponse et diviser par 2 (pas précis, mais une estimation décente).

1

Configurez le serveur pour qu'il envoie immédiatement une réponse au client. Chez le client, mesurez le temps d'aller-retour. Le temps que vous cherchez est la moitié du temps aller-retour.

0

Vous pouvez mettre l'heure à laquelle vous avez envoyé le paquet au début de chaque paquet. En d'autres termes, vous pouvez créer un en-tête personnalisé pour tous vos paquets qui inclurait cette information.

Questions connexes