Springboot2.X + WebSocket实时推送

本文介绍了在SpringBoot2.x中实现WebSocket实时推送的步骤,包括在pom.xml中添加依赖,配置WebSocketConfig,实现WebSocketInterceptor拦截器,创建MyWebSocketHandler处理器,以及消息推送的实现。特别强调了在WebSocket生命周期中的关键方法,如连接建立、消息处理、错误处理和连接关闭时的操作。同时,还提到为了实现WebSocket通信,nginx需要进行相应配置。
摘要由CSDN通过智能技术生成

pom加入依赖

		<!-- websocket -->
 		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-websocket</artifactId>
		</dependency>

WebSocketConfig

添加配置类:

package com.szhq.iemp.reservation.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;

import com.szhq.iemp.reservation.intercptor.WebSocketInterceptor;
import com.szhq.iemp.reservation.listener.MyWebSocketHandler;
/**
 * 首先注入一个ServerEndpointExporterBean,该Bean会自动注册使用@ServerEndpoint注解申明的websocket endpoint
 * @author wanghao
 */
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer{
	
	@Override
	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
		registry.addHandler(new MyWebSocketHandler(), "/websocket/{ID}").setAllowedOrigins("*").addInterceptors(new WebSocketInterceptor());
	}
}

WebSocketInterceptor拦截器

package com.szhq.iemp.reservation.intercptor;

import java.util.Map;

import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;

import lombok.extern.slf4j.Slf4j;
@Slf4j
public class WebSocketInterceptor implements HandshakeInterceptor{

	//在握手之前执行该方法, 继续握手返回true, 中断握手返回false. 通过attributes参数设置WebSocketSession的属性
	@Override
	public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHa
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值