SpringBoot 配置 Websocket 运行到Tomcat上出现的问题

SpringBoot 配置 Websocket 运行到Tomcat上出现的问题


参考该链接写了个小聊天室, 本地运行没问题, 放到服务器上就出错了. 记录一下问题.

SpringBoot项目打包的时候, 会出现测试不通过的问题

出现该问题是因为Test没有相关容器环境导致的.

解决

  1. Maven命令中跳过test
  2. 把SpringBootTest注解给注释掉
  3. 在SpringBootTest注解上加入 webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

把war包放入Tomcat运行后报javax.websocket.server.ServerContainer not available 错误

发现是SpringBoot中配置的 ServerEndpointExporter 中引入了这个jar包, 然后Tomcat里可能和这个有冲突.

解决

把配置的Bean : ServerEndpointExporter 给注释掉

访问页面后404问题

page:26 WebSocket connection to 'ws://***/websocket/imserver/10' failed: Error during WebSocket handshake: Unexpected response code: 404
404?路径错了?
这个问题花了很长时间才解决,我这里是因为nginx的原因.

解决

  1. 查看路径是否是正确的.
  2. 查看是否有拦截器等配置阻止了请求
  3. 是否配置了 nginx转发 ,我这里是因为 nginx 的原因所以访问不了.

总结

不怕问题, 就怕没有找到关键的点. 开始没有往 nginx 上面想, 还好后来想到了然后做了尝试.

如果你发现哪里有问题, 请评论批评指正, 非常感谢.😃

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值