在Golang中限制tcp下载速度

时间:2017-11-12 06:11:02

标签: sockets go tcp

我希望能够在我的代码中限制tcp连接的带宽。 This问题有一些线索,但不完全是我想要的。我试图用类似的方法破解go标准lib(net / tcp包)的src代码,但是失败了。 我的主要想法是以某种方式慢慢地将数据从syscall写入内部缓冲区,从而使操作系统丢弃tcp数据包。

1 个答案:

答案 0 :(得分:0)

正如评论中所说,最简单的方法是使用奇迹工具在操作系统级别执行此操作。 如果您查看“wondershaper”脚本,它会使用“iproute2”包中的“/ sbin / tc”命令。 我知道这不是您想要做的,但是您可以通过使用os.exec()在源代码中执行'tc'命令来降低级别。 实施您自己的“流量控制”算法可能工作量太大,而且对您的目标不是必需的。