我有一个使用 socket.io 的服务器,我需要一种方法来限制发送服务器数据过快的客户端。服务器公开了一个 TCP 接口和一个 socket.io 接口——net
我可以使用 TCP 服务器(来自模块)socket.pause()
和socket.resume()
,这有效地限制了客户端。但是对于 socket.io 的socket
类,没有pause()
andresume()
方法。
向客户端反馈服务器不堪重负并需要减速的最简单方法是什么?我喜欢它socket.pause()
,socket.resume()
因为它不需要客户端上的任何额外代码——备份 TCP 套接字,事情自然会变慢。socket.io 的任何等价物?
更新:我提供了一个与服务器交互的 API(目前有一个通过 TCP 运行的 python 版本和一个使用 socket.io 的 JavaScript 版本)。所以我对客户的行为没有任何真正的控制权。这就是为什么使用socket.pause()
andsocket.resume()
非常棒的原因——无论它试图做什么,备份 TCP 流都会减慢 Python 客户端的速度。我正在寻找 JavaScript 客户端的等价物。