libuv下如何控制传输速度?
How to control the transmission speed under libuv?
众所周知,libuv是一个异步网络库,它会尽最大努力将数据发送出去,但是在某些情况下,我们不能占用所有的带宽,传输速度需要控制在指定值,如何使用 libuv api?
libuv 不提供执行此操作的内置机制,但它确实为您提供了足够的信息来构建它。假设您使用的是 TCP,您将重复调用 uv_write
。然后您可以查询 write_queue_size
(http://docs.libuv.org/en/v1.x/stream.html#c.uv_stream_t.write_queue_size) 并停止等待,直到它耗尽一点。您可以在传递给 uv_write
.
的回调中执行此检查
众所周知,libuv是一个异步网络库,它会尽最大努力将数据发送出去,但是在某些情况下,我们不能占用所有的带宽,传输速度需要控制在指定值,如何使用 libuv api?
libuv 不提供执行此操作的内置机制,但它确实为您提供了足够的信息来构建它。假设您使用的是 TCP,您将重复调用 uv_write
。然后您可以查询 write_queue_size
(http://docs.libuv.org/en/v1.x/stream.html#c.uv_stream_t.write_queue_size) 并停止等待,直到它耗尽一点。您可以在传递给 uv_write
.