websocekt监听器共4类,包含订阅、取消订阅,socekt连接和断开连接
代码编写流程
1、在需要监听器类上实现接口ApplicationListener<T> T表示事件类型,下列几种都是对应的websocket事件类型
2、在监听器类上注解 @Component,spring会把这个类纳入管理
websocket模块监听器类型:
SessionSubscribeEvent 订阅事件
SessionUnsubscribeEvent 取消订阅事件
SessionDisconnectEvent 断开连接事件
SessionDisconnectEvent 建立连接事件
代码示例
package cn.huawei.listener;
import org.springframework.context.ApplicationListener;
import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.messaging.SessionConnectEvent;
/**
* 监听器演示
* 建立连接事件
*
* StompHeaderAccessor 简单消息传递协议中处理消息头的基类,
* 通过这个类,可以获取消息类型(例如:发布订阅,建立连接断开连接),会话id等
*/
@Component
public class ConnectEventListener implements ApplicationListener<SessionConnectEvent>{
public void onApplicationEvent(SessionConnectEvent event) {
System.out.println(event);
StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(event.getMessage());
System.out.println("【ConnectEventListener监听器事件 类型】"+headerAccessor.getCommand().getMessageType());
}
}