3 votes

Limiter la vitesse de téléchargement tcp dans Golang

J'aimerais pouvoir limiter la bande passante de la connexion tcp dans mon code. Le présent La question contient quelques indices, mais pas exactement ce que je veux. J'ai essayé de pirater le code src de la librairie standard de go (paquet net/tcp), en utilisant une approche similaire, mais j'ai échoué. L'idée principale est d'écrire lentement les données de syscall dans le tampon interne, ce qui oblige le système d'exploitation à laisser tomber les paquets tcp.

0voto

Joseph Paul Points 306

Comme indiqué dans le commentaire, le plus simple est de le faire au niveau du système d'exploitation avec l'outil wondershaper. Si vous regardez ' faiseurs de merveilles ' script, il utilise la commande '/sbin/tc' du fichier '. iproute2 '. Je comprends que ce n'est pas exactement ce que vous voulez faire, mais vous pouvez aller à un niveau inférieur en exécutant les commandes 'tc' dans votre code source avec os.exec(). L'implémentation de votre propre algorithme de "contrôle du trafic" représente peut-être trop de travail et n'est pas nécessaire pour atteindre votre objectif.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X