美文网首页
Springboot整合Websocket遇到的坑

Springboot整合Websocket遇到的坑

作者: 惜时流光沿途留殇 | 来源:发表于2020-09-26 14:08 被阅读0次

一、使用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方法

相关文章

网友评论

      本文标题:Springboot整合Websocket遇到的坑

      本文链接:https://www.haomeiwen.com/subject/jykdhktx.html