Bootstrap

websocket监听器介绍和使用

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());
	}
}

此demo太简单,完全是鸡肋,后期有新的思路再补充,也欢迎大佬一起交流

;