众所周知,libuv是一个异步网络库,它会尽力发出数据,但是,在某些情况下,我们无法占用所有带宽,传输速度需要控制在指定值,如何用libuv api做到这一点?
答案 0 :(得分:1)
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
。