介绍
系统使用springboot开发,用到了websocket推送消息到页面,但是登陆系统后,报错信息如下:WebSocket connection to 'ws://192.168.1.141:8089/finesys_user/lehoon' failed: Error during WebSocket handshake: Unexpected response code: 404. 如图:
问题原因
经过查询原因是websocket协议通过Upgrade:websocket 升级的时候,如果后端没有声明这个接入点endpoint的话, 会返回一个错误信息.
然后照这个websocket连接代码部分,发现代码里面写的endpoint没有在spring websocket中声明,所以报错了。
前端js中建立websocket的时候使用的endpoint是finesys-user, 后端的是finesys,没有统一名称,所以造成了升级到websocket失败.
解决方案
找到问题就简单多了, 需要和后端统一起来endpoint的名字,这样才会正确的从http升级到websocket。