Bien programmer en langage C
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -20%
-20% Récupérateur à eau mural 300 ...
Voir le deal
79 €

Heure de reception d'un paquet UDP

2 participants

Aller en bas

Heure de reception d'un paquet UDP Empty Heure de reception d'un paquet UDP

Message  Davidlouiz Dim 13 Mar 2011 - 21:06

Bonjour,

Dans une application réseau, j'ai besoin de mesurer des pings. J'utilise des sockets UDP non bloquant. Il s'agit d'une application qui devra être capable de mesurer des pings sur un réseau local.

Lorsqu'un message est arrivé, la fonction recvfrom() me donne le message arrivé. Cette fonction est appelée toute les 16 ms. J'aimerais savoir s'il est possible de connaitre l'heure "exacte" d'arrivé du message lu par recvfrom(). Si je li un message arrivé depuis 15 ms, j'aimerais le savoir.


Merci.

Davidlouiz
Bavard
Bavard

Messages : 10
Date d'inscription : 27/05/2008

Revenir en haut Aller en bas

Heure de reception d'un paquet UDP Empty Re: Heure de reception d'un paquet UDP

Message  -ed- Mar 15 Mar 2011 - 16:42

Davidlouiz a écrit:Dans une application réseau, j'ai besoin de mesurer des pings. J'utilise des sockets UDP non bloquant. Il s'agit d'une application qui devra être capable de mesurer des pings sur un réseau local.
A ma connaissance, la mesure des pings se fait avec un protocole spécial qui continent précisément les données 'temps' permettant de faire la mesure.

On utilise les RAW sockets et le protocole ICMP. Un exemple (non testé) :

http://www.cppfrance.com/codes/PING-ICMP-RAW-SOCKET-DEV-CPP_10926.aspx


-ed-
-ed-
Admin
Admin

Messages : 290
Date d'inscription : 26/05/2008
Age : 67
Localisation : Paris 14eme arrondissement (75, France)

http://bien-programmer.fr

Revenir en haut Aller en bas

Heure de reception d'un paquet UDP Empty Re: Heure de reception d'un paquet UDP

Message  Davidlouiz Ven 3 Jan 2014 - 1:07

Merci.

Dans l'exemple du lien, le calcule du ping est effectué en soustrayant l'heure d’émission à l'heure de réception. (voir pingeur.c)

Code:
    // . . .

    time = GetTickCount(); // Récupération du temps courant
    time -= (icmphdr->timestamp); // Différence entre réception et émission

Le problème est le même car l'appel à la fonction GetTickCount() n'indique pas véritablement l'heure de réception du message.

Actuellement, je procède ainsi malgré tout en essayant de repasser très souvent pour avoir une idée précise de l'heure d'arrivé du message, mais cette solution n'est pas parfaite.

Davidlouiz
Bavard
Bavard

Messages : 10
Date d'inscription : 27/05/2008

Revenir en haut Aller en bas

Heure de reception d'un paquet UDP Empty Re: Heure de reception d'un paquet UDP

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser