首页 > 其他分享 >SpringBoot WebSocket 样例

SpringBoot WebSocket 样例

时间:2024-01-10 13:56:31浏览次数:35  
标签:web WebSocket SpringBoot boot 样例 springframework org import public

SpringBoot WebSocket 样例

pom.xml依赖配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
    <groupId>javax.websocket</groupId>
    <artifactId>javax.websocket-api</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

TextWebSocketHandler 编写


import org.springframework.lang.NonNull;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;
import java.util.HashMap;
import java.util.Map;

public class KteMessageWebSocketHandler extends TextWebSocketHandler {

	private final Map<String, WebSocketSession> sessions = new HashMap<>();

	public Map<String, WebSocketSession> getSessions() {
		return sessions;
	}

	@Override
	public void afterConnectionEstablished(@NonNull WebSocketSession session) {
		sessions.put(session.getId(), session);
	}
}

WebSocketConfigurer 配置

package com.kte.system.websocket;

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

/**
 * Created by EalenXie on 2022/3/2 14:25
 */
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {


	@Override
	public void registerWebSocketHandlers(@NonNull WebSocketHandlerRegistry registry) {
		registry.addHandler(kteMessageWebSocketHandler(), "/websocket/message").setAllowedOrigins("*");
	}

	@Bean
	public KteMessageWebSocketHandler kteMessageWebSocketHandler() {
		return new KteMessageWebSocketHandler();
	}

}

标签:web,WebSocket,SpringBoot,boot,样例,springframework,org,import,public
From: https://www.cnblogs.com/ealenxie/p/17956320

相关文章

  • jasypt-spring-boot 配置文件加密样例
    jasypt-spring-boot配置文件加密样例首先引入pom.xml<!--低版本的jdk(如1.8.0_25-b18)中会出现Failedtobindpropertiesunder'xxx'tojava.lang.String,不会在高版本的jdk(如1.8.0_161)运行环境中出现;原因:加密引发异常。原因是您正在使用强加密算法,并且您尚未在此Java......
  • 用 Socket.D 替代原生 WebSocket 做前端开发
    socket.d.js是基于websocket包装的socket.d协议的实现。就是用ws传输数据,但功能更强大。功能原生websocketsocket.d说明listen有有监听消息send有有发消息sendAndRequest无有发消息并接收一个响应(类似于http)sendAndSubscribe无有发消息......
  • 8、SpringBoot2之打包及运行
    为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行8.1、概述普通的web项目,会被打成一个war包,然后再将war包放到tomcat的webapps目录中;当tomcat启动时,在webapps目录中的war包会自动解压,此时便可访问该web项目的资源或服务;因为......
  • 基于SpringBoot+Vue的流浪动物领养信息系统设计实现(源码+lw+部署文档+讲解等)
    (文章目录)前言:heartpulse:博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌:heartpulse:......
  • SpringBoot集成WebSocket实现消息推送
    一、前言WebSocket是一种新型的通信协议,它可以在客户端和服务端之间实现双向通信,具有低延迟、高效性等特点,适用于实时通信场景。它是一种基于TCP协议实现的全双工通信协议,使用它可以实现实时通信,不必担心HTTP协议的短连接问题。SpringBoot可以很方便的集成WebSocket实现高效实时的......
  • springboot通过自定义注解@Log实现日志打印
    springboot通过自定义注解@Log实现日志打印效果图实操步骤注意,本代码在springboot环境下运行,jdk1.81.引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency>......
  • 【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据
    Mybatis是什么Mybatis是一个基于JDBC实现的,支持普通SQL查询、存储过程和高级映射的优秀持久层框架,去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。Mybatis主要思想是将程序中大量的SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。在所有ORM框......
  • 基于SpringBoot+Vue的航班订票管理系统设计实现(源码+lw+部署文档+讲解等)
    (文章目录)前言:heartpulse:博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌:heartpulse:......
  • Java+springboot开发医院智能导诊小程序源码
    智慧医院如何实现智能导诊服务?1、数据收集和整合:医院需要收集和整合患者的医疗数据,包括病历、化验结果、影像资料等。同时,还可以整合相关的医学数据库和知识库,以便为导诊提供支持。2、患者信息采集:在患者来院时,可以通过智能问诊系统收集患者的基本信息、症状描述、病史等。这可以......
  • 在现有SpringBoot项目中,快速添加所需依赖项
    如果在SpringBoot项目开发过程中,缺少某些依赖项,如SpringWeb、MybatisFramwork等····,不用手动在pom.xml文件中导入依赖前提:创建的项目为正常的SpringBoot项目,我用的版本是3.2.11.可以直接在pom.xml文件中,找到<dependencies>标签,会发现有个提示2.点击后会出现跟创建项目时添加......