Qt网络限速

通过限制套接字的读取速度从而达到网络限速的作用。

限制TCP速度

  • 设置QTcpSocket的setReadBufferSize接口。
    1
    void QTcpSocket::setReadBufferSize(qint64 size)

限制Http请求的速度

  • 设置QNetworkReply的setReadBufferSize接口。
    1
    void QNetworkReply::setReadBufferSize(qint64 size)

限制WebSocket速度

  • 设置QWebSocket的setReadBufferSize接口。
    1
    void QWebSocket::setReadBufferSize(qint64 size)

限制SslSocket速度

  • 设置QSslSocket的setReadBufferSize接口。
    1
    void QSslSocket::setReadBufferSize(qint64 size)

关于接口

  setReadBufferSize为设置套接字内部读取缓冲区的大小。

  如果缓冲区大小限制为一定的大小,Socket将不会缓冲超过这个大小的数据。异常情况下,缓冲区大小为0意味着读取缓冲区是无限的,所有传入数据都被缓冲。这是默认值。

  如果您只在特定的时间点读取数据(例如,在实时流应用程序中),或者您希望保护套接字不接收过多的数据,而这些数据可能最终导致应用程序耗尽内存,则此选项非常有用