2010-05-22 7 views
2

J'ai une application C++ fonctionnant sous Windows xp 32 qui envoie et reçoit de courts paquets tcp/ip.Quantification de 16 millisecondes lors de l'envoi/réception de paquets TCP

Mesurer (précisément) l'heure d'arrivée Je vois une quantification de l'heure d'arrivée à 16 millisecondes. (Signification tous les paquets qui arrivent sont à (16) millisecondes xN séparés les uns des autres)

Pour éviter l'agrégation de paquets j'ai essayé de désactiver l'algorithme Nagle en définissant l'option IPPROTO_TCP à tcp_nodelay dans les variables de socket, mais il n'a pas aidé

Je suppose que le problème est lié à la fenêtre cédulaire qui ont également une horloge de 16 millisecondes .. Toute idée d'une solution à ce problème? Merci

Répondre

0

Utilisez une minuterie de résolution plus élevée telle que QueryPerformanceTimer() ou __rdtsc() en étant conscient de leur downfalls. De même, notez que si vous utilisez les fonctions d'attente, vous pouvez appeler timeBeginPeriod() pour une résolution de 1 ms ou même implémenter une fonction de délai occupé qui entoure un temporisateur à résolution plus élevée.

Questions connexes