Heure de reception d'un paquet UDP

Voir le sujet précédent Voir le sujet suivant Aller en bas

Heure de reception d'un paquet UDP

Message  Davidlouiz le 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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Heure de reception d'un paquet UDP

Message  -ed- le 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



_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: Heure de reception d'un paquet UDP

Message  Davidlouiz le 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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Heure de reception d'un paquet UDP

Message  Contenu sponsorisé Aujourd'hui à 15:28


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum