Spring Boot 消息推送之 WebSocket和SseEmitter
双向通讯
- 注入
ServerEndpointExporter - 加上
@ServerEndpoint注解,设置WebSocket连接点的服务地址。 - 创建
AtomicInteger用于记录连接数 - 创建
ConcurrentHashMap用于存放连接信息 @OnOpen注解表明该方法在建立连接后调用@OnClose注解表明该方法在断开连接后调用@OnError注解表明该方法在连接异常调用@OnMessage注解表明该方法在收到客户端消息后调用- 创建推送信息的方法
- 创建移除连接的方法
Spring mvc 4.2 开始提供。服务器向客户端单向发送
- 创建
AtomicInteger用于记录连接数 - 创建
ConcurrentHashMap用于存放连接信息 - 建立连接:创建并返回一个带有超时时间的
SseEmitter给前端。超时间设为0表示永不过期 - 设置连接结束的回调方法
completionCallBack - 设置连接超时的回调方法
timeoutCallBack - 设置连接异常的回调方法
errorCallBack - 创建推送信息的方法
SseEmitter.send() - 创建移除连接的方法