Question

L'un de nos clients éprouve problème avec notre application de streaming (win32). Il semble que les paquets UDP (RTP) qui doivent être envoyés par l'application avec un intervalle constant (disons 20 ms) sont effectivement envoyés avec un deltas très variables (par exemple 15ms - 25ms - 10ms - 30 ms). Ceci est le seul client qui rencontre le problème si la carte réseau ou autres infrastructures réseau OS est notre suspect primaire.

La question est quel type de configuration réseau peut présenter un tel problème (AV?, QOS?)

Et comment puis-je mesurer le temps entre l'appel fait fonction « envoyer » et le moment où le paquet a été effectivement remis au réseau? Est-il un outil disponible pour cela.

Était-ce utile?

La solution 3

Les gars le problème était en fait les fonctions de synchronisation des fenêtres en effet tourner que Sleep () peut avoir une résolution de plus de 15 ms. à moins que vous définissez programtically à un 1ms. Donc, pas de relation ce qui donc jamais à la carte réseau.

Autres conseils

Je soupçonne tout problème de réseau peut provoquer ce problème.

Il n'y a pas de notion de QoS (qualité de service) avec UDP de base (même au point que vous pouvez perdre des paquets, ont des doublons, etc.). Votre carte réseau doit faire la queue pour écrire des paquets au réseau, et donc vous ne pouvez pas garantir les livraisons car il est de faire la queue des paquets provenant de différentes applications.

Les routeurs peuvent établir des priorités aussi bien, et qui auront une incidence sur la régularité de ces paquets.

EDIT: Vous avez indiqué la carte réseau local, donc ce qui précède re. les routeurs ne sont pas applicables dans ce cas.

En bref, il n'y a aucune raison du tout d'attendre que ce qui précède est autre chose que acceptable.

Si vous dites que vous mesurez ce directement sur la carte réseau de l'ordinateur qui génère réellement les paquets (ce peut donc escompter toutes les influences du réseau), alors une cause possible est la charge sur l'ordinateur lui-même.

S'il existe de nombreuses applications en cours d'exécution sur l'ordinateur, en particulier ceux et celles interactives avec un biais d'interaction forte des utilisateurs (qui ont tendance à avoir la priorité de la plupart des ordonnanceurs), vous pouvez constater que votre application la création des messages est simplement de trouver difficile de concourir pour le temps dont il a besoin.

Même si tous vos ordinateurs clients ont le même logiciel chargé, quelles applications ils sont en cours d'exécution en fait et ce qu'ils font avec eux peuvent avoir une influence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top