Spring Boot之WebSocket

1、项目地址:https://github.com/hqzmss/test01-springboot-websocket.git

2、IDE:IntelliJ IDEA 2018.1.1 x64

Spring Boot实现WebSocket比较简单,主要分以下四步:

1、添加依赖

其他的依赖只涉及到Spring Boot本身的依赖

2、创建拦截器

拦截器要实现【HandshakeInterceptor】这个接口,并实现它的两个方法。

拦截器的主要作用是在WebSocket创建握手之前和之后进行一些相应的处理

3、创建处理器

处理器是所有消息的处理中心。

【afterConnectionEstablished】:这个方法会为每个WebSocket连接创建一个WebSocketSession,标识一个连接。

可以将这个WebSocketSession保存起来,以后要是服务器有消息要发送到这个客户端,则通过WebSocketSession直接发送

【handleMessage】:从客户端发来的消息由此方法接收并做相应处理。消息由WebSocketMessage来接收。

4、添加配置项目

1)、要记得添加@EnableWebSocket注解,标识这个配置是WebSocket配置

2)、”/webSocketServer.action”是自定义的连接点,客户端要通过WebSocket连接此服务器则是通过此连接点

3)、.setAllowedOrigins(“*”),这个方法要加上,不加的话有可能连接会被拦截掉

Original: https://www.cnblogs.com/hqzmss/p/9095423.html
Author: 深海云帆
Title: Spring Boot之WebSocket

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

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

(0)

大家都在看

  • 多商户商城系统功能拆解22讲-平台端分销商品

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    098
  • MySQL 安全管理

    权限表 MySQL 服务器通过权限表来控制用户对数据库的访问,由 mysql_install_db 脚本初始化,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限 user…

    数据库 2023年5月24日
    081
  • Tomcat解压war包错误

    最近一个项目由于需要频繁发布,我又懒得把项目的war包和同名文件夹一起复制,一般发布war包等待war包自动解压来发布站点,当发布了39次时,war包解压异常最显著的信息是原来解压…

    数据库 2023年6月9日
    065
  • 做数据时代的加油站,ShardingSphere 为易车数据库架构演进提供新动力

    Apache ShardingSphere 前段时间应邀来到易车北京总部,PMC Chair 张亮与易车的技术同学在数据加解密、扩容、迁移、上云等话题展开了深度交流与探讨。 作为中…

    数据库 2023年6月16日
    0239
  • mysql索引

    MySQL索引: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 1.创建索引1.1单独创建索引 1.2修改表结构创建索引 1.3创…

    数据库 2023年6月11日
    087
  • 自定义表单 动态表单 表单设计器 流程引擎 设计方案

    作流模块——————————- 1.模型管理 :web在线流…

    数据库 2023年6月6日
    078
  • 数据库中异常与隔离级别

    数据库相对于其它存储软件一个核心的特征是它支持事务,所谓事务的ACID就是原子性,一致性,隔离性和持久性。其中原子性,一致性,持久性更多是关注单个事务本身,比如,原子性要求事务中的…

    数据库 2023年6月9日
    076
  • 字节一面:事务还没提交的时候,redolog 能不能被持久化到磁盘呢?

    又是被自己菜醒的一天,总结面经看到这题目听都没听过,打开百度就像吃饭一样自然 老规矩,背诵版在文末。点击阅读原文可以直达我收录整理的各大厂面试真题 首先,咱需要明白的是,啥是持久化…

    数据库 2023年6月6日
    0125
  • Docker安装和配置

    sudo yum install -y docker-ce docker-ce-cli containerd.io 配置加速(可以理解为类似于Maven的阿里仓库,用于加速镜像的下…

    数据库 2023年6月6日
    071
  • 19-TCP、UDP的区别和应用场景

    可靠性TCP 提供交付保证,这意味着一个使用TCP协议发送的消息是保证交付给客户端的,如果消息在传输过程中丢失,那么它将重发。UDP是不可靠的,它不提供任何交付的保证,一个数据包在…

    数据库 2023年6月16日
    097
  • MySQL实战45讲 17

    17 | 如何正确地显示随机消息? 场景:从词汇表中随机选择三个单词。 [En] Scene: three words are randomly selected from a v…

    数据库 2023年5月24日
    094
  • FTP文件上传

    一、配置FTP文件服务器 以Ubuntu为例 FTP两种模式简介 PORT(主动模式)第一步FTP客户端首先随机选择一个大于1024的端口p1,并通过此端口发送请求连接到FTP服务…

    数据库 2023年6月6日
    090
  • MySQL学习笔记-day03

    唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。 drop table if exists t_user; create table t_user( id int, u…

    数据库 2023年5月24日
    069
  • XPath和Selenium的使用

    XPath 是一门在 XML 文档中查找信息的语言 /: ——># 从根节点选取: //: ——># 不管位置,直接找 /@属性名 ——># 获取对应属性值 /t…

    数据库 2023年6月9日
    075
  • 正在运行转换: System.Runtime.Remoting.RemotingException: 无法加载类型“EnvDTE._DTE

    在编写T4,引用envdte时,遇到如下错误,解决方案:右击引用中的envdte,属性中将”嵌入互操作类型”为false,重新编译库即可。 错误信息如下: …

    数据库 2023年6月14日
    097
  • 深入汇编指令理解Java关键字volatile

    volatile是什么 volatile关键字是Java提供的一种轻量级同步机制。它能够保证可见性和有序性,但是不能保证原子性 可见性 对于volatile的可见性,先看看这段代码…

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