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.
Réponse
Trop de publicités?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.