我是 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。