使用Spring Boot实现WebSocket广播

使用Spring Boot实现WebSocket广播

Spring Boot提供了对WebSocket的支持,可以方便地实现广播功能。以下是实现步骤:

  1. 添加依赖 :在pom.xml文件中添加Spring Boot WebSocket的依赖:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-websocket</artifactId>

</dependency>

2配置WebSocket :创建一个配置类WebSocketConfig,继承AbstractWebSocketMessageBrokerConfigurer,并配置WebSocket的端点和消息代理:

@Configuration

@EnableWebSocketMessageBroker

public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

@Override

public void configureMessageBroker(MessageBrokerRegistry config) {

config.enableSimpleBroker("/topic");

config.setApplicationDestinationPrefixes("/app");

}

@Override

public void registerStompEndpoints(StompEndpointRegistry registry) {

registry.addEndpoint("/websocket").withSockJS();

}

}

创建控制器 :创建一个控制器WebSocketController,用于处理客户端发送的消息并将其广播到所有订阅了相应主题的客户端:

@Controller

public class WebSocketController {

@MessageMapping("/broadcast")

@SendTo("/topic/messages")

public String broadcastMessage(@Payload String message) {

return "广播消息: " + message;

}

}

客户端代码:在前端应用中,使用JavaScript和SockJS库连接到WebSocket服务器并发送/接收消息:

JavaScript

var socket = new SockJS('/websocket');

var stompClient = Stomp.over(socket);

stompClient.connect({}, function(frame) {

console.log('Connected: ' + frame);

stompClient.subscribe('/topic/messages', function(response) {

console.log('Received message: ' + response.body);

});

stompClient.send("/app/broadcast", {}, 'Hello, WebSocket!');

});

相关推荐
勇哥java实战分享16 分钟前
短信平台 Pro 版本 ,比开源版本更强大
后端
学历真的很重要21 分钟前
LangChain V1.0 Context Engineering(上下文工程)详细指南
人工智能·后端·学习·语言模型·面试·职场和发展·langchain
计算机毕设VX:Fegn089524 分钟前
计算机毕业设计|基于springboot + vue二手家电管理系统(源码+数据库+文档)
vue.js·spring boot·后端·课程设计
上进小菜猪40 分钟前
基于 YOLOv8 的智能杂草检测识别实战 [目标检测完整源码]
后端
韩师傅2 小时前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端
栈与堆2 小时前
LeetCode-1-两数之和
java·数据结构·后端·python·算法·leetcode·rust
superman超哥2 小时前
双端迭代器(DoubleEndedIterator):Rust双向遍历的优雅实现
开发语言·后端·rust·双端迭代器·rust双向遍历
1二山似2 小时前
crmeb多商户启动swoole时报‘加密文件丢失’
后端·swoole
马卡巴卡2 小时前
Java CompletableFuture 接口与原理详解
后端
*才华有限公司*3 小时前
RTSP视频流播放系统
java·git·websocket·网络协议·信息与通信