遇到这个问题不要慌,去查查众说纷纭。那我就在这里总结一下吧

存在此问题的有以下几种情况

1、ws连接不稳定经常断线;

答:

1)可能是客户和服务器之间的网络问题

2)可能是服务端内存不够用导致线程被异常清理

2、ws连接成功后过一点时间后就自动断开

答:

1)一般情况下是nginx转发或者 tomcat的连接超时导致容器层主动关闭这个连接

(1)修改容器层tomcat或者nginx【proxy_read_timeout 5000s; keepalive_timeout 5000s;】配置即可,但是治标不治本不推荐

(2)服务端主动向客户端发送心跳消息的发送,不推荐,因为会导致服务端负荷

(3)客户端主动向服务端发送心跳消息,我个人情况下比较推荐这种方案

3、ws连接之后服务端由于鉴权失败等各种原因服务器主动关闭连接导致抛出该异常

答:解决代码在下面【重点在于CloseReason.CloseCodes.TLS_HANDSHAKE_FAILURE错误码,当你使用这个错误码会导致io错误,意思是握手失败】

/**

* 操作进行下线

* @param session

*/

public void optClose(Session session){

// 判断当前连接是否还在线

if (session.isOpen()){

try {

// 关闭连接

CloseReason closeReason = new CloseReason(CloseReason.CloseCodes.NORMAL_CLOSURE,"鉴权失败!");

session.close(closeReason);

} catch (IOException e) {

e.printStackTrace();

}

}

}

注意:当发生异常错误时,应该及时关闭连接并且处理相关用户的上下线操作!

原文:https://www.cnblogs.com/qianxiaoPro/p/14336412.html

java spring 服务器关闭连接_java springboot websocket 服务 服务器主动关闭连接 导致 抛出java.io.EOFException异常...相关推荐

  1. java 照片识别 自动判题,【判断题】throw关键字只可以抛出Java能够自动识别的异常。...

    [判断题]throw关键字只可以抛出Java能够自动识别的异常. 更多相关问题 [名词解释] 庶兔马首之络 [单选] 帮助服务对象记住信息时下列哪项是错误的() [名词解释] "摄情&quo ...

  2. java 异常管理员_java web在进行管理员操作的时候,抛出了下面的异常,怎么解决啊...

    我把异常贴出来:HTTP Status 500 - An exception occurred processing JSP page /Admin/adminMember.jsp at line 4 ...

  3. android socket握手,HttpURLConnection抛出java.net.SocketTimeoutException:在Android 4.1.1中SSL握手超时...

    在Android 5.0及更高版本中运行时,我的代码运行正常.但是在Android 4.1.1中它会抛出java.net.SocketTimeoutException:SSL握手超时. URL url ...

  4. AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...

    原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...

  5. 在不丢失堆栈跟踪的情况下重新抛出Java中的异常

    在C#中,我可以使用throw; 保留堆栈跟踪时重新抛出异常的语句: try {... } catch (Exception e) {if (e is FooException)throw; } Ja ...

  6. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  7. java关闭ftp 连接_Java语言实现简单FTP软件------gt;连接管理模块的实现:主机与服务器之间的连接与关闭操作(八) - 移动编程 - ITeye博客...

    (1)FTP连接 运行FTP客户端后,首先是连接FTP服务器,需要输入FTP服务器的IP地址及用户名.密码以及端口号后点击连接按钮开始连接FTP服务器,连接流程图如下图所示. 点击"连接&q ...

  8. JAVA服务器没回应_Java如何面对无服务器的挑战?

    这是来自jaxcenter组织的一个讨论,谈论了Java在无服务器浪潮冲击下面临的机会和挑战.下面摘录主要部分: Spring推动者Pivotal有一个名为 Riff的函数即服务平台,它是一个开源的. ...

  9. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

最新文章

  1. 二、进程的状态与转换
  2. leetcode 287. 寻找重复数(Find the Duplicate Number)
  3. 破天荒第一遭 安全公司因玩忽职守被客户告上法庭
  4. 机器学习三要素之策略
  5. 新版ubuntu中打开终端的方法和安装ssh 的方法
  6. 【转】HEIF图片存储格式探秘
  7. cent OS 6.3 yum方式安装openldap,phppldapadmin,lam
  8. 瑞友天翼服务器ip地址怎么修改,(瑞友天翼安装教程.doc
  9. suse11 升级glibc版本
  10. 华为PUSH推送所有Token都不合法
  11. 对视频剪辑应用灰度图像变换+Moviepy生成灰度视频处理遇到几个有意思的问题
  12. 教你用Python制作微信好友背景墙
  13. Ajax访问接口报错NET::ERR_CERT_REVOKED
  14. [ Azure - Cloud Shell ] 微软 Azure Cloud Shell 介绍
  15. UI设计之【android 仿微信、QQ聊天,带表情,可翻页,带翻页拖动缓冲】
  16. 世界计算机科学大会,【计算机视觉】世界三大顶级会议介绍
  17. 波特Baud、码元、比特bit三者关系+ Byte、bps、Bps
  18. innobackup 备份还原原理和操作
  19. 安云网络-高防服务器租用的稳定性
  20. 1397 火车票退票费问题(函数专题)

热门文章

  1. 使用Cloud Application Programming模型开发OData的一个实际例子
  2. SAP CRM Fiori my Opportunity Etag handling
  3. SAP CRM Fiori应用里的note section
  4. How to judge if one OData model data is out of date
  5. Javascript 事件propagation机制
  6. SAP CRM ABAP Product search authorization check - 产品搜索的权限检查机制
  7. PROD_ROOT and PRD_ROOT
  8. 使用Eclipse本地运行SAP UI5时, UI5库文件的js文件是从本地哪里加载的
  9. 部署在ABAP Netweaver上的UI5应用,UI5库那些JavaScript的具体位置
  10. SAP CRM Fiori participant的图片显示调试全过程