zoukankan      html  css  js  c++  java
  • Springboot整合Websocket遇到的坑

    Springboot整合Websocket遇到的坑

    一、使用Springboot内嵌的tomcat启动websocket

    1.添加ServerEndpointExporter配置bean

    @Configuration
    public class WebSocketConfig {
    
        /**
         * 服务器节点
         *
         * 如果使用独立的servlet容器,而不是直接使用springboot的内置容器,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理
         * @return
         */
        @Bean
        public ServerEndpointExporter serverEndpointExporter() {
            return new ServerEndpointExporter();
        }
    
    }

    2.在接收连接的类加上@ServerEndpoint和@Component

    @ServerEndpoint("/connect")
    @Component

    二、使用外部tomcat容器启动websocket

    1.删除ServerEndpointExporter配置bean

    2.接收连接的类删除@Component

    三、websocket关闭连接异常

    如果客户端关闭了websocket,但服务端没有监听到关闭事件,即onClose方法没有调用,这是会发生的情况

    此时如果服务端向客户端推送消息,会出现异常告诉开发者:关闭了一个连接,并重新调用onClose方法

  • 相关阅读:
    LaTeX插入数学公式
    清除浮动的4种方式
    水平居中与垂直居中
    如何实现两三栏布局
    BFC
    flex弹性盒子
    盒模型
    Git
    jQuery设置disabled属性与移除disabled属性
    TP---where多条件查询
  • 原文地址:https://www.cnblogs.com/javafucker/p/10249425.html
Copyright © 2011-2022 走看看