在 Tornado 中增加 max_buffer_size BaseIOStream 的限制
Increase max_buffer_size limit of BaseIOStream in Tornado
Tornado websocket 服务器用于与可能发送大量有效负载的客户端进行双向通信。我已经使用以下方法增加了套接字消息的大小:
tornado.web.Application(tuples, websocket_max_message_size = 256 * 1024 * 1024),
根据:。但是,如果消息超过 100MiB(超出读取缓冲区大小),我会得到一个异常。
尝试过:
我相信我已经在 BaseIoStream 中追踪到该异常,其中 max_buffer_size 设置为 100MiB 值。我怎样才能增加缓冲区大小(或其他任何东西,以便我可以接收大于 100MiB 的消息)?
您可以像这样从 WebSocketHandler
子类增加 IOStream 的缓冲区限制:
class YourWebSocketHandler(websocket.WebSocketHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request.connection.stream.max_buffer_size = 256 * 1024 * 1024
这也适用于 RequestHandler
个子类。
Tornado websocket 服务器用于与可能发送大量有效负载的客户端进行双向通信。我已经使用以下方法增加了套接字消息的大小:
tornado.web.Application(tuples, websocket_max_message_size = 256 * 1024 * 1024),
根据:
尝试过:
我相信我已经在 BaseIoStream 中追踪到该异常,其中 max_buffer_size 设置为 100MiB 值。我怎样才能增加缓冲区大小(或其他任何东西,以便我可以接收大于 100MiB 的消息)?
您可以像这样从 WebSocketHandler
子类增加 IOStream 的缓冲区限制:
class YourWebSocketHandler(websocket.WebSocketHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request.connection.stream.max_buffer_size = 256 * 1024 * 1024
这也适用于 RequestHandler
个子类。