出现问题原因:

服务端发过来的消息大于了所设置的buffer大小,一般是默认大小如图

定位问题思路

  1. 通过wireshark抓包确定是哪一方主动断开连接;
  2. debug代码,查看异常栈信息,定位抛出异常位置
  3. 如图,我定位到org.apache.tomcat.websocket.WsFrameClient读取消息时抛出异常。得出结论

解决方法

在main方法中设置系统变量,保证在加载org.apache.tomcat.websocket.Constants之前设置

	public static void main(String[] args) {
        //超过你的最大消息大小
		System.setProperty("org.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE","32768");
		SpringApplication.run(ProbeEdgeApplication.class, args);

	}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐