【发布时间】:2021-01-04 18:39:23
【问题描述】:
在我们使用 websockets 的在线游戏中,我们每天多次收到以下错误:
ERROR p.c.s.common.WebSocketFlowHandler - WebSocket flow threw exception
akka.stream.BufferOverflowException: Buffer overflow (max capacity was: 16)!
我们没有关于在哪里查看的想法。有谁知道为什么会这样?
或者,我们有什么方法可以在 Play Framework 的 WebSocketFlowHandler 中启用调试信息,以了解缓冲区被填满的原因?
【问题讨论】:
-
akka 流中的默认 msg 数是 16。肯定问题出在 Play 中的 akka 流配置中,如果只是 akka,我会使用类似 `val bufferedFlow = flow.buffer (40, overflowStrategy = OverflowStrategy.backpressure)`。但是我用Play很久了,不知道在哪里给你这个配置。
-
这可能与playframework.com/documentation/2.8.x/ScalaStream 的“发送大量数据”有关。你怎么看?也许您可以发布用于使用有效负载的 HttpRequest/Response。
-
感谢您的意见。我将检查如何更改缓冲区大小
标签: java websocket playframework akka