前端连接websocket失败_SpringBoot项目中websocket报错问题

本文介绍了在SpringBoot项目中遇到的前端WebSocket连接失败的问题,详细分析了由于endpoint不匹配导致的404错误,并提供了统一endpoint名称的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

系统使用springboot开发,用到了websocket推送消息到页面,但是登陆系统后,报错信息如下:WebSocket connection to 'ws://192.168.1.141:8089/finesys_user/lehoon' failed: Error during WebSocket handshake: Unexpected response code: 404. 如图:

d0ae839332e5aab2a79b8281d7a02d9e.png

报错图片

问题原因

经过查询原因是websocket协议通过Upgrade:websocket 升级的时候,如果后端没有声明这个接入点endpoint的话, 会返回一个错误信息.

69320b53d29e3414dad99ce7cdcbef5f.png
833bcacddac59c3d1ad2ba8675ed48e5.png

然后照这个websocket连接代码部分,发现代码里面写的endpoint没有在spring websocket中声明,所以报错了。

d7fddc1eb26c23d09969948cd76f38d0.png

配置文件声明

24e63058f4763d7387050f728bf4a59d.png

注册endpoint

前端js中建立websocket的时候使用的endpoint是finesys-user, 后端的是finesys,没有统一名称,所以造成了升级到websocket失败.

解决方案

找到问题就简单多了, 需要和后端统一起来endpoint的名字,这样才会正确的从http升级到websocket。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值