我是 Spring 的新手

我有这个课:

public class Server extends TextWebSocketHandler implements WebSocketHandler {

    WebSocketSession clientsession;
    @Override
    public void handleTextMessage(WebSocketSession session, TextMessage message) {

        clientsession = session;

    }

我需要检测到clientsession上的客户端断开连接。
实现ApplicationListener,但不清楚如何注册监听器?
我需要在我的web.xml中执行此操作吗?

最佳答案

Websocket客户端断开连接后,将调用 WebSocketHandler afterConnectionClosed函数。您只需要以覆盖handleTextMessage的方式覆盖它。

@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus){
    // your code here
}

客户端断开连接与服务器事件检测之间可能会有相当大的延迟。 See details about real-time disconnection detection

10-08 01:34