【发布时间】: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