2010-11-25 10 views
-3

Je veux écrire un code pour obtenir la bande passante disponible. En utilisant l'un des algorithm.ex.spruce/pathload.Bande passante disponible

Je voulais un code en C++ dans Windows. J'ai le code linux. Mais je voulais un code basé sur Windows, ce qui peut me faire monter et descendre la bande passante.

+0

Ehm, en C++? Quelle API? Win32? MFC? .NET? – EboMike

+0

bonne question +1 – Rella

Répondre

1

Bande passante pour quelle ressource? S'il s'agit d'une ressource réseau, il n'y a rien dans aucune langue ou dans le système d'exploitation qui vous donnera une estimation réelle de la bande passante. Vous devez appeler quelque chose à l'autre extrémité du lien que vous devez traverser et obtenir une estimation de la bande passante à ce moment-là. Ou mieux dit ... Vous auriez besoin d'appeler un fichier sur un serveur Web pour tester la vitesse de téléchargement de la connexion Internet à domicile de quelqu'un. Gardez à l'esprit que les chiffres obtenus ne sont précis pour ce moment-là cependant. Comme la bande passante sur n'importe quelle ressource peut être supérieure ou inférieure quand vous les utilisez réellement puisque les facteurs externes affectent toujours la bande passante (autres prorcess, utilisateurs, etc.)

Pourquoi avez-vous besoin de la bande passante et pour quelle ressource?

+1

Je veux du code dans Windows C++ – vishal

+0

Code pour quoi? Vous n'avez pas répondu à ma question de base "pour quoi?" du tout. La bande passante est juste la mesure de la façon dont les données de muc peuvent être transférées entre deux objets sur un chemin donné. Cela pourrait être pour E/S, réseau, RAM, etc ... –

+0

Je pense que la question a tout donné. Pathpath est une technique permettant de mesurer la bande passante du réseau. –

0

Si vous le demandez, vous n'êtes pas à la hauteur. Convertir Linux en fenêtres nécessite la connaissance de la plate-forme, ce que vous n'avez clairement pas. D'après mon expérience, presque tous les algorithmes d'estimation de bande passante conviviaux pour le réseau (pathload, pathchirp, etc.) ne conviennent pas à la bande passante à haut débit. Ces anciens algorithmes sont adaptés et pratiques si la bande passante est d'environ 1mb. En outre, ces algorithmes supposent que le réseau est «propre» (aucun autre trafic). De nos jours, la quasi-totalité de ces algorithmes «réseau convivial» n'est pas pratique.

D'autres outils d'estimation de bande passante variant comme netperf, netcps est basé sur la méthode de la force brute. La méthode de la force brute n'est pas adaptée au réseau. La plupart de cet algorithme a un problème de latence (si basé sur tcp) et atteint la vitesse de lecture/écriture hdd (si écrire sur hdd au lieu de mémoire). IMO, les meilleurs outils d'estimation de bande passante sont basés sur UDP (non influencé par la latence contrairement à tcp) force brute (non influencée par d'autres trafics) avec un flux de contrôle personnalisé pour les réseaux haute vitesse.

L'autre problème que vous rencontrerez est l'optimisation du code. Vous devez vous assurer que votre code est hautement optimisé. Si vous utilisez C#, GC posera un problème possible.

Questions connexes