SpringBoot如何使用WebSocket实现前后端交互

我们都知道http协议只能在浏览器单方面向服务器发起请求时获得响应,然而服务器不能主动向浏览器推送消息,想要实现浏览器的主动推送目前有两种主流的实现方式:

  • 轮询:缺点很多,但是实现简单
  • websocket: 在浏览器和服务器之间建立TCP连接,实现全双工通信
    springboot使用websocket有两种方式,一种是实现简单的websocket,另外一种是实现STOMP协议。本篇讲述如何使用springboot实现简单的websocket。

首先注入一个ServerEndpointExporterBean,该Bean会自动注册使用@ServerEndpoint注解申请的websocket endpoint,代码如下

3新进webSocket服务端

4客户端实现

5 测试

添加新订单:

接收到websocket消息

原文连接地址 https://www.cnblogs.com/xiaozhengtongxue/p/13448778.html

Original: https://www.cnblogs.com/xianz666/p/16088208.html
Author: 红尘沙漏
Title: SpringBoot如何使用WebSocket实现前后端交互

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541170/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ArrayList源码分析

    ArrayList源码分析 默认大小 // 根据传入的初始化大小创建对应的数组大小 public ArrayList(int initialCapacity) { if (init…

    Java 2023年6月16日
    081
  • Http协议

    HTTP协议 1.何为HTTP协议 HTTP协议又名超文本传输协议,是一种基于TCP/IP的传输协议,顾名思义,其传输的内容为超文本内容,在互联网早期,我们只能传输非二进制的文本,…

    Java 2023年6月7日
    087
  • 基于alpine构建jdk镜像遇到的坑

    alpine常用于作为 docker的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用 alpine作为基础镜像构建 java 8镜像 下面的问题在 oracle …

    Java 2023年6月16日
    064
  • Ubuntu18.04下安装Docker并配置SSL证书加密远程连接

    下载安装包 containerd.io_1.4.6-1_amd64.deb docker-ce_20.10.73-0ubuntu-xenial_amd64.deb docker-c…

    Java 2023年6月7日
    092
  • 利用 Spring Boot 中的 @ConfigurationProperties,优雅绑定配置参数

    使用 @Value(“${property}”) 注释注入配置属性有时会很麻烦,尤其是当你使用多个属性或你的数据是分层的时候。 Spring Boot 引入…

    Java 2023年5月30日
    093
  • 文档加密、解密jar包

    此jar包支持pdf、excel、txt等格式文档的加密(本jar包方法加密后的解密)实现,满足项目中上传到服务器的文档的加密方法,保证用户信息安全,提高系统的安全级别。此方法是用…

    Java 2023年6月13日
    089
  • 微服务SpringCloud之熔断监控Hystrix Dashboard和Turbine

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时…

    Java 2023年5月30日
    087
  • 在Nginx 下运行 Laravel5.1 的配置

    一、nginx 的 vhost.conf 配置: server { listen 80; server_name sub.domain.com; set $root_path ‘/…

    Java 2023年5月30日
    0102
  • windows安装jdk8

    win10系统安装jdk8全过程 一 下载安装文件 jdk的安装与配置是Java学习的第一步,下面记录一下具体过程。首先根据自己系统下载对应版本。下载地址http://www.or…

    Java 2023年5月30日
    073
  • AxWebBrowser,WebBrowser

    利用2005的WebBrowser我暂时无法得到postData,不知道各位TX有没好办法,记得告知。 所以暂时使用AxWebBrowser, 下面是利用2005的WebBrows…

    Java 2023年6月13日
    089
  • Spring Boot 如何干掉 if else?

    需求 这里虚拟一个业务需求,让大家容易理解。假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理。 订单实体: service接口: 传统实现 根据订单类型写一堆的…

    Java 2023年5月30日
    086
  • day04-MySQL常用函数

    5.MySQL常用函数 5.1合计/统计函数 5.1.1合计函数-count count 返回行的总数 Select count(*)|count (列名) from table_…

    Java 2023年6月15日
    088
  • 报错One record is expected, but the query result is multiple records

    总结:出现这种情况,显而易见,就是查询的数据在数据库中不止一条,而我调用的selectOne方法,返回值是一个User对象,导致报错 点击查看错误代码 LambdaQueryWra…

    Java 2023年6月15日
    0104
  • 【Java】Object 的 clone 方法分析

    学习视频:https://study.163.com/course/introduction/1006177009.htm 学习目标 能够理解clone方法的由来 能够使用clon…

    Java 2023年6月7日
    092
  • 【部署系列】站点部署系列目录

    Loading 【部署系列】Docker 部署 acme.sh 【部署系列】Docker部署nginx且https访问 posted @2022-09-20 14:09 jesn …

    Java 2023年6月8日
    084
  • SpringBoot使用Filter

    对全部请求进行Filter Filter: package com.example.demo.filter; import org.springframework.core.Ord…

    Java 2023年6月9日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球