【问题标题】:Spring Boot websocket handshake hanging intermittentlySpring Boot websocket握手间歇性挂起
【发布时间】:2016-09-14 22:09:25
【问题描述】:

连接到我的 Web 套接字端点似乎(随机)挂起的次数多于没有。

这里是注册端点的代码-

@Configuration
@EnableWebSocket
public class WebSocketEndpointConfigurer implements WebSocketConfigurer {

    @Autowired
    private WebSocketConfig webSocketConfig;

    @Autowired
    private WebSocketEndpoint webSocketEndpoint;

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry
            .addHandler(webSocketEndpoint, webSocketConfig.getEndpoint()).setAllowedOrigins("*");
    }
}

这是我的 websocket 端点 -

@Component
public class WebSocketEndpoint extends TextWebSocketHandler {

    private static Logger logger = LoggerFactory.getNoAppLogger(WebSocketEndpoint.class);

    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        logger.info("Websocket connection created");
        //do more things
    }

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) {
        //do things
    }

    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        //do things
    }
}

当我尝试启动连接时,我会说 50% 的时间它是成功的。另外 50% 的时间它到达 afterConnectionEstablished() 方法,我看到了我的日志消息,但它永远不会返回到浏览器并且 Chrome 的调试工具显示“待定”。

如果我重新启动我的 Spring Boot 服务器,有时它会修复它,有时它不会,它完全是随机的。我在这里遗漏了什么吗?

提前谢谢,这真的让我很烦。

编辑:我已经在多个 Web 套接字测试客户端上进行了尝试,结果都相同。

【问题讨论】:

    标签: java spring-boot spring-websocket


    【解决方案1】:

    想通了……

    我们公司的防病毒软件引入了一个影响 Web 套接字的错误......

    【讨论】:

    猜你喜欢
    • 2019-07-01
    • 2012-10-13
    • 2012-08-11
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2021-04-09
    相关资源
    最近更新 更多