一、前言

使用websocket进行实时通信时,常见以下报错:

WebSocket connection to 'ws://localhost' failed:

或者

Whoops!Lost connection to http://localhost:

网上很多方案例如重新导入fastjson依赖、缺少证书等方案都无法解决问题,以下是本人经过websocket多日折磨后总结出来的错误原因以及解决方案。

二、错误及其解决方案

1、使用ServerEndpointExporter但没用使用外置tomcat容器

这个错误应该是最常见且最不容易发现的,因为它藏得实在太深了,博主也是受困多日才发现错误

错误原因:ServerEndpointExporter需要外置tomcat容器运行环境,但平常我们都是使用SpringBoot内置tomcat,导致ServerEndpointExporter在运行时一直报错。

解决方案:在pom.xml文件中,排除SpringBoot自带的嵌入tomcat,添加外置的tomcat依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 移除嵌入式tomcat插件 --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><!--<scope>provided</scope>--></dependency>

2、使用拦截器或过滤器但没有对请求放行

这个错误相较于上面较容易发现,但也很难定位到这个错误

错误原因:使用拦截器或过滤器但没有对请求放行,特别是使用Spring Security或Shiro,很容易遗忘放行请求路径

解决方案:在相应的配置文件中放行请求路径,以"/socket/**"为例

    // API_PATH白名单private static final String[] SECURITY_IGNORE_API_PATH = {"/admin/login", "/logout","/socket/**"    //放行请求api};
        /* 配置认证授权 */http.authorizeRequests().antMatchers(SECURITY_IGNORE_API_PATH).permitAll() // API白名单.anyRequest() //任何其它请求.authenticated(); //都需要身份认证

WebSocket连接错误的解决方案相关推荐

  1. ueditor图片上传,网络连接错误的解决方案

    错误产生的原因是ueditor/net目录中的Uploader.cs在网站发布之后就没有了,重新上传这个文件,问题就解决了 转载于:https://www.cnblogs.com/_zjl/p/368 ...

  2. 接收服务器显示帧控制错误,Websocket连接关闭,出现错误“接收到意外的继续帧”...

    我只是想用WebSockets.我用python编写服务器代码.服务器运行良好,但当尝试使用浏览器连接到套接字时,我得到了错误"WebSocket connection to 'ws://l ...

  3. Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩。

    Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩. 参考文章: (1)Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方 ...

  4. 打开360浏览器显示无法连接服务器错误,Win10电脑上360浏览器提示网络连接错误,错误代码 102的解决方案...

    360浏览器是我们经常在Win10电脑上使用的浏览器之一,如果我们在Win10电脑上,用360浏览器无法打开网页,还提示网络连接错误,错误代码 102,这个我们要怎么办呢?这个问题已经让很多用户无法正 ...

  5. Linux——SSH连接错误【No supported authentication methods available】解决方案

    问题描述 No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with- ...

  6. 阿里云ECS——Linux连接错误[Read from socket failed: Connection reset by peer]解决方案

    问题描述 改变了系统权限 chmod 777 -R /后,SSH连接错误[Read from socket failed: Connection reset by peer]. 主要是改变了/etc/ ...

  7. Nginx代理webSocket经常中断的解决方案, 如何保持长连接

    为什么80%的码农都做不了架构师?>>>    背景 这天气够热的,要处理的事情也够多的.... 想看解决的,直接 ctrl+f搜索关键字'配置点'## 开始前交代(想看原因的看这个 ...

  8. Navicat 连接MySQL时出现1251错误的解决方案

    Navicat 连接MySQL时出现1251错误的解决方案 参考文章: (1)Navicat 连接MySQL时出现1251错误的解决方案 (2)https://www.cnblogs.com/diao ...

  9. mysql8 2058_SQLyog连接MySQL8.0报2058错误的解决方案

    引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...

最新文章

  1. MATLAB利用YCBCR切割出人脸头像
  2. Mysql的操作应用
  3. DEEPIN 20安装镜像进入LIVE模式
  4. 通用技术和信息技术合格考知识点_高二信息与通用技术会考知识点
  5. 前端学习(1763):前端调试值之性能分析的方法一
  6. NuGet的使用、部署、搭建私有服务
  7. FCPX Full Access - Titles Bundle for Mac FCPX标题字幕插件捆绑包
  8. Qt笔记-Qt获取百度下拉推荐词
  9. 【python实战】使用 pygame 写一个 flappy-bird 类小游戏 | 涉及思路+项目结构+代码详解 | 新手向
  10. linux版征途架设教程,魔兽世界-燃烧的征途端完整架设教程有图有真相
  11. 拳皇格斗游戏3D版源代码
  12. Linux系统中VI或VIM输入时小键盘无法使用
  13. flutter 基础知识点总结
  14. 天敏T2四核精简版固件(安卓)_机顶盒使用指南(转载)
  15. iview(View UI)使用 Vue 的 Render 函数,自定义表格列头显示内容(renderHeader)
  16. Codeforces Round 520 div2
  17. 多年厮杀,腾讯、阿里、百度、小米的投资版图长什么样!
  18. ODN 2395丨艾美捷CpG ODN系列参数介绍
  19. python协程实现一万并发_python进阶:服务端实现并发的八种方式
  20. 互联网时代计算机科学技术的发展,互联网时代下的计算机科学技术发展趋势

热门文章

  1. 数据工程系列精讲(第三讲): Data-centric AI 之特征工程
  2. iOS读YYModel源码
  3. WereWolf项目 Postmortem
  4. android 适配测试,谈Android手机客户端的适配测试
  5. 美应对核算试剂不足出新招!“说话检测”是咋回事?染新冠病毒
  6. Annotation PK Interface
  7. 拿到Google offer了
  8. 性价比高的骨传导蓝牙耳机,推荐几款性能高的骨传导耳机
  9. QQ宠物的无耻之处。
  10. 月薪3W+,职位缺口高达19W,入坑数据分析亏不亏?