springboot搭建websocket
创始人
2025-01-07 21:33:21
0

Spring Boot 搭建 WebSocket 实战指南

引言

WebSocket 是一种网络通信协议,允许服务器和客户端之间建立一个持久的连接,实现全双工通信。在 Spring Boot 应用中,WebSocket 是实现实时消息推送、在线聊天、游戏等功能的重要技术。本文将详细介绍如何在 Spring Boot 中搭建 WebSocket 服务。

准备工作

在开始之前,请确保您已安装以下软件和库:

springboot搭建websocket

  • Java Development Kit (JDK) 1.8 或更高版本
  • Maven 3.0 或更高版本
  • Spring Boot 2.x 版本

创建 Spring Boot 项目

  1. 使用 Spring Initializr 创建一个 Spring Boot 项目。
  2. 添加以下依赖项到 pom.xml 文件中:

    
        org.springframework.boot
        spring-boot-starter-websocket
    
    
        org.springframework.boot
        spring-boot-starter-thymeleaf
    
    
  1. src/main/resources/application.properties 文件中配置 WebSocket 服务器地址:
server.port=8080
spring.application.name=spring-boot-websocket

创建 WebSocket 配置类

src/main/java/你的包名/ 目录下创建一个名为 WebSocketConfig 的配置类,用于配置 WebSocket 连接器、消息处理器等。

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/websocket").withSockJS();
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/topic");
        registry.setApplicationDestinationPrefixes("/app");
    }
}

创建 WebSocket 客户端

src/main/resources/templates/ 目录下创建一个名为 websocket.html 的 Thymeleaf 模板,用于展示 WebSocket 客户端界面。




    WebSocket Client
    
    


    
    
    

创建 WebSocket 服务端

src/main/java/你的包名/ 目录下创建一个名为 WebSocketController 的控制器类,用于处理客户端的连接和消息。

import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;

@Controller
public class WebSocketController {

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public String greeting(String message) {
        return "Hello, " + message + "!";
    }
}

运行和测试

  1. 启动 Spring Boot 应用。
  2. 打开浏览器,访问 http://localhost:8080/websocket.html
  3. 输入消息,点击 "Send" 按钮,查看消息是否成功发送。

总结

本文介绍了如何在 Spring Boot 中搭建 WebSocket 服务。通过配置 WebSocket 连接器、消息处理器和客户端,您可以实现实时消息推送、在线聊天等功能。希望本文能帮助您更好地了解和使用 Spring Boot WebSocket。

相关内容

热门资讯

长征五号B遥一运载火箭顺利通过... 2020年1月19日,长征五号B遥一运载火箭顺利通过了航天科技集团有限公司在北京组织的出厂评审。目前...
9所本科高校获教育部批准 6所... 1月19日,教育部官方网站发布了关于批准设置本科高等学校的函件,9所由省级人民政府申报设置的本科高等...
9所本科高校获教育部批准 6所... 1月19日,教育部官方网站发布了关于批准设置本科高等学校的函件,9所由省级人民政府申报设置的本科高等...
湖北省黄冈市人大常委会原党组成... 据湖北省纪委监委消息:经湖北省纪委监委审查调查,黄冈市人大常委会原党组成员、副主任吴美景丧失理想信念...
《大江大河2》剧组暂停拍摄工作... 搜狐娱乐讯 今天下午,《大江大河2》剧组发布公告,称当前防控疫情是重中之重的任务,为了避免剧组工作人...