springBoot整合webSocket

SPringboot整合WebSocket 在现代Web应用中,实时通信变得越来越重要。WebSocket提供了一种在单个连接上进行全双工通信的方式,允许服务器主动向客户端发送消息。Spring Boot作为Java开发中流行的微框架,整合WebSocket可以非常方便地实现实时通信功能。本文将介绍如何在Spring Boot项目中整合WebSocket。提示:以下是本篇文章正文内容,下面案例可供参考通过上述步骤,我们可以在Spring Boot项目中整合WebSocket,实现服务器与客户端之间的实时通信。 阅读详情

1、使用注解@ServerEndpoint注解webSocket


@ServerEndpoint("/logWebSocket")
public class LogWebSocketHandle {

    /**
     * 新的WebSocket请求开启
     */
    @OnOpen
    public void onOpen(Session session) {
    }

    @OnMessage
    public void onMessage(String message, Session session) {
         logger.info("---------------->message:"+message);
    }

    /**
     * WebSocket请求关闭
     */
    @OnClose
    public void onClose() {
    }

    @OnError
    public void onError(Throwable thr) {
        thr.printStackTrace();
    }
}

2、在页面创建webSocket链接

    var webSocketUrl = "ws://192.168.2.1:8080/webSocketPro/logWebSocket";
    var websocket = new WebSocket(webSocketUrl);
    websocket.onopen = function(e) {
        //给服务器端发消息
        websocket.send('message');
    }
    websocket.onmessage = function(event) {
        // 接收服务端的消息
         var data = event.data;
    };

3、如果在tomcat下启动springBoot应用,请求webSocket访问404,需要在springBoot应用中注入webSocket配置,同时在webSocket实现类上添加@Component注解

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@Configuration 
public class WebSocketConfig {

     @Bean  
     public ServerEndpointExporter serverEndpointExporter (){  
          return new ServerEndpointExporter();  
     }  
}
@ServerEndpoint("/logWebSocket")
@Component
public class LogWebSocketHandle {
}

4、springBoot中webSocket依赖的jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
    <version>1.4.1.RELEASE</version>
</dependency>
SpringBoot整合WebSocket服务 1、前言注意: 仅使用 SpringBoot封装好的 spring-boot-starter-websocket 服务,并不是使用第三方 Netty或者 Apache MINAspring-boot-starter-web: 底层使用 Java WebSocket API (JSR-356)实现spring-boot-starter-webflux: 底层使用 Netty实现(没有使用过,不知道具体)官方文档1官方文档22、开始使用2.1、加入Maven依赖。 阅读详情

相关推荐

SpringBoot整合WebSocket遇到的坑

websocket failed: Error during WebSocket handshake: Unexpected response 1、pom.xml 中引入 spring-boot-starter-websocket <dependency> <groupId>org.springframework.boot</groupId> ...

qq_30238195的博客 2380

解决SpringBoot整合WebSocket组件(@ServerEndPoint)无法@Autowired自动注入

1.前言 最近在项目中需要用到WebSocket,当我跟SpringBoot整合,然后做一些持久层的相关操作的时候,突然空指针异常,原因在于@Autowired或者@Resource无法自动注入,一开始以为是我太久没写后端代码,整合方式出了问题(QAQ),改了一堆配置还是没解决,最后写了个普通的Controller出来测试,发现完全OJBK。所以问题的源头终于找到了,那就是WebSocket在搞...

qq_42109746的博客 5871

springboot整合WebSocket

springboot整合WebSocket WebSocket通信过程 客户端构建一个websocket实例,并且为它绑定一个需要连接到的服务器地址,当客户端连接服务端的候,会向服务端发送一个http get报文,告诉服务端需要将通信协议切换到websocket,服务端收到http请求后将通信协议切换到websocket,同时发给客户端一个响应报文,返回的状态码为101,表示同意客户端协议转请求,并转换为websocket协议。以上过程都是利用http通信完成的,称之为websocket协议握手(webs

weixin_43757027的博客 2万+

SpringBoot - 整合WebSocket时@ServerEndpoint修饰的类属性注入为null问题

最近在做一个直播弹幕系统,前期准备先用WebSocket来试试水。我们都知道,使用WebSocket只需要给对应的类加上注解即可。这个类中我还引用了一个MQ的服务类,结果调用的时候发现NPE。因此写下本篇文章做个记录。

Zong_0915的博客 3612

【SpringBoot笔记37】SpringBoot基于@ServerEndpoint、@OnMessage等注解的方式集成WebSocket

Spring框架中是采用【javax.websocket】包下的注解实现了WebSocket的功能,常见的注解有下面这些:@ServerEndpoint:用于指定对外暴露的WebSocket服务端点,即:接口地址、服务地址。@OnOpen:当WebSocket创建连接的时候,会执行该注解标记的方法。注解标记的方法,可以有参数:Session、@PathParam路径参数。@OnMessage:当服务端接收到WebSocket发送的消息时候,就会执行该注解标记的方法,该方法必须有参数,参数就是客户端

✅ Java 开发工程师 1899

SpringBoot 整合WebSocket 简单实战案例

先看项目目录结构: ------接下来,我们开始整合WebSocket------ 先是pom.xml添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket&lt...

默默不代表沉默 5万+

Spring boot +WebSocket 启动 @ServerEndpoint注入失败 :Failed to register @ServerEndpoint class

项目中用到了WebSocket,启动注入失败。检查tomcat版本是否是7以上,WebSocket 只支持tomcat 7以上版本 环境信息 SpringBoot 2.3.1.RELEASE Tomcat 9.0 异常信息 java.lang.IllegalStateException: Failed to register @ServerEndpoint class: class com.rsp.baseapp.system.service.WebSocketServer$$Enhanc.

FengZ1的博客 1万+

websocket-api.jar

websocket-api.jar,javax.websocket.server.ServerEndpoint

WebSocket使用实例及集成原理

目录 一、概述 1.简介 2.优点 二、WebSocket请求数据格式 1.request请求数据格式 2.response相应数据格式 三、spring集成实例 1.jar包 2.前端页面 3.后台代码 四、集成原理 1.Tomcat请求流程 2.切入点ServerEndpointExporter类 3.创建连接及发送消息等原理 3.1 创建连接 3.2 发送消息 3.3 关闭和抛异常 一、概述 1.简介 WebSocket是一种在单个TCP连接上进行全双工通信的协

Armyyyyy丶的博客 930

Halcon实战:5分钟搞定金属表面划痕检测(附完整代码解析)

本文提供了一份基于Halcon的金属表面划痕检测实战指南。通过核心的动态阈值算法,快速从图像中提取局部对比度异常区域,并结合形态学后处理与特征筛选,精准识别划痕。文章详解了从代码搭建、参数优化到工业场景适配的全流程,帮助工程师在五分钟内构建稳定高效的机器视觉检测方案。

weixin_29084231的博客 497

常见的AXI总线仲裁器概述-AXI协议理解(一)

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

Paul 安的博客 1万+

SpringBoot整合WebSocket服务 springboot整合websocket springboot使用websocket springboot使用websocket

仅使用 SpringBoot封装好的服务,并不是使用第三方Netty或者: 底层使用实现: 底层使用Netty实现(没有使用过,不知道具体)官方文档1官方文档2。

半只 7360

Vue3 + EventSource 实战:手把手教你打造实时AI聊天悬浮窗(附完整代码)

本文详细介绍了如何使用Vue3和EventSource技术构建一个实时AI聊天悬浮窗。文章从产品化视角出发,重点讲解了流式数据接收与渲染、悬浮窗UI交互的工程化实现、性能优化及高级功能,并提供了完整的代码示例,帮助开发者快速集成功能完整的AI问答系统。

assembly8low的博客 846

【十四】springboot整合WebSocket

springboot整合WebSocket

weixin_56995925的博客 3万+

Halcon相机标定实战:从参数设置到精度优化全解析

本文详细解析Halcon相机标定的全流程,从基础概念到实战技巧,涵盖参数设置、精度优化及常见问题解决方案。通过实际案例和代码示例,帮助读者掌握工业视觉项目中相机标定的关键技术,提升测量精度和系统稳定性。

weixin_29279153的博客 323

别再手动找触点了!EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战

本文详细解析EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战技巧,帮助电气设计工程师提升图纸操作效率。通过精简编号、路径栏显示和元件旁可视化三种模式的应用场景对比,结合快捷键肌肉记忆训练法,实现触点快速定位与管理,大幅减少手动查找时间。

weixin_42522964的博客 481

Spring Boot整合WebSocket

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据交换,而无需每次都重新建立连接。WebSocket 的核心特性包括:双向通信:客户端和服务器都可以主动发送和接收消息。低延迟:由于 WebSocket 连接是持久的,消息可以立即传递,而不需要重复的 HTTP 请求。节省资源:通过减少 HTTP 请求的开销,WebSocket 可以节省带宽和服务器资源。

2401_85454022的博客 2490

XYC Q8开源掌机刷第三方系统教程

分区结束后直接将各种游戏文件放入OD分区的Roms文件夹下

m0_60352504的博客 4571

SpringBoot 以及SpringCloud整合Websocket的经历

Springboot整合webSocket 导入依赖(根据具体情况,排除jar包,防止jar包冲突) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId&g...

奋斗的清风~的博客 1万+

半导体材料仿真:二维材料仿真_(1).二维材料的基本概念

在半导体材料仿真领域,二维材料因其独特的物理和化学性质而受到广泛关注。二维材料,也称为二维纳米材料,是指在二维空间(通常是平面)上具有原子级厚度的材料。这些材料的厚度通常在几个纳米甚至单个原子层的范围内,使得它们在电子、光学、热学和机械性能上表现出与传统三维材料显著不同的特性。本节将详细介绍二维材料的基本概念,包括它们的分类、结构、性质以及在半导体材料仿真中的应用。

2401_87715305的博客 1546

RDKit | 基于Murcko骨架聚类化合物库

化合物多样性评估 一种方法是使用合适的指纹技术将化合物矢量化并评估他们之间的距离。这种方法经常被使用,但是对于人类很难直观地理解化合物之间的距离。 基于Murcko骨架,分子大致聚集在化合物骨架中,并且每个簇中的顶部化合物都作为候选化合物。此方法非常符合人类的直觉,因此可以预期人将通过查看候选化合物列表来自动缩小化合物的范围。 Murcko骨架 Mur...

DrugOne 3768

Springboot 整合 WebSocket

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,在WebSocket中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。

原名:@程序员大禹 9481

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Springboot整合websocket(附详细案例代码)

本文主要介绍WebSocket的概念,和在springboot项目中的使用。

weixin_46425661的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 挑出字符串中的数组、字母、空格个数
下一篇: SpringBoot整合velocity
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值