我整天都在寻找能够增加websocket缓冲区大小的解决方案。到目前为止,我发现的一切都没有效果。目前我的代码是:
@OnOpen
public void open(Session session, EndpointConfig conf) {
session.setMaxBinaryMessageBufferSize(5242880);
System.out.println("Server has been opened with max binary message buffer size of: "+session.getMaxBinaryMessageBufferSize());
}
但是这会输出:
Server has been opened with max binary message buffer size of: 65536
尽管我在上面的行上更改了它。我已经尝试了许多其他解决方案,最终放弃了,并决定在工作数小时后发帖。
感谢您的帮助! 〜熔岩
答案 0 :(得分:3)
您需要使用@OnMessage
注释对其进行二进制消息(您可以使用包含session
的变体进行验证):
@OnMessage(maxMessageSize = 5242880)
public void onBinary(byte[] message, Session session)
{
System.out.println("max size:" + session.getMaxBinaryMessageBufferSize());
}