返回顶部
首页 > 资讯 > 精选 >springboot整合websocket的基础知识点
  • 679
分享到

springboot整合websocket的基础知识点

2023-06-14 07:06:12 679人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关SpringBoot整合websocket的基础知识点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目最终的文件结构1 添加Maven依赖 <dependency>

这篇文章给大家分享的是有关SpringBoot整合websocket的基础知识点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

项目最终的文件结构

springboot整合websocket的基础知识点

1 添加Maven依赖

 <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-WEBSocket</artifactId></dependency><dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <version>1.18.12</version></dependency>

2 编写配置类 WebSocketConfig

package cn.huawei.socket_test_1.config; import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Component;import org.springframework.web.socket.server.standard.ServerEndpointExporter; @Componentpublic class WebSocketConfig {     @Bean  public ServerEndpointExporter serverEndpointExporter() {    return new ServerEndpointExporter();  }}

3 编写核心业务类 WebSocket

package cn.huawei.socket_test_1.websock;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component; import javax.websocket.*;import javax.websocket.server.PathParam;import javax.websocket.server.ServerEndpoint;import java.util.concurrent.ConcurrentHashMap;  @Slf4j@Component@ServerEndpoint("/websocket/{name}")public class WebSocket {     private Session session;     private String name;     private static ConcurrentHashMap<String,WebSocket> webSocketSet = new ConcurrentHashMap<>();      @OnOpen  public void OnOpen(Session session, @PathParam(value = "name") String name){    log.info("----------------------------------");    this.session = session;    this.name = name;    // name是用来表示唯一客户端,如果需要指定发送,需要指定发送通过name来区分    webSocketSet.put(name,this);    log.info("[WebSocket] 连接成功,当前连接人数为:={}",webSocketSet.size());    log.info("----------------------------------");    log.info("");     GroupSending(name+" 来了");  }     @OnClose  public void OnClose(){    webSocketSet.remove(this.name);    log.info("[WebSocket] 退出成功,当前连接人数为:={}",webSocketSet.size());     GroupSending(name+" 走了");  }     @OnMessage  public void OnMessage(String message_str){    log.info("[WebSocket] 收到消息:{}",message_str);    //判断是否需要指定发送,具体规则自定义    //message_str的格式 TOUSER:user2;message:aaaaaaaaaaaaaaaaaa;    if(message_str.indexOf("TOUSER") == 0){      //取出 name和message的值      String[] split = message_str.split(";");      String[] split1 = split[0].split(":");      String[] split2 = split[1].split(":");      String name = split1[1];      String message = split2[1];      //指定发送      AppointSending(name,message);    }else{      //群发      GroupSending(message_str);    }  }     @OnError  public void onError(Session session, Throwable error){    log.info("发生错误");    error.printStackTrace();  }     public void GroupSending(String message){    for (String name : webSocketSet.keySet()){      try {        webSocketSet.get(name).session.getBasicRemote().sendText(message);      }catch (Exception e){        e.printStackTrace();      }    }  }     public void AppointSending(String name,String message){    try {      webSocketSet.get(name).session.getBasicRemote().sendText(message);    }catch (Exception e){      e.printStackTrace();    }  }}

4 因前端不熟悉,所以使用 Http://coolaf.com/tool/chattest 在线测试
因代码中 @ServerEndpoint("/websocket/{name}") 是这样定义的,所以 通过下面的方式连接上去,测试群发和指定发送

springboot整合websocket的基础知识点

因java代码中这样定义的消息,可以指定发送某个人,测试

springboot整合websocket的基础知识点

感谢各位的阅读!关于“springboot整合websocket的基础知识点”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: springboot整合websocket的基础知识点

本文链接: https://lsjlt.com/news/269086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springboot整合websocket的基础知识点
    这篇文章给大家分享的是有关springboot整合websocket的基础知识点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目最终的文件结构1 添加maven依赖 <dependency>...
    99+
    2023-06-14
  • React的基础知识点整理
    这篇文章主要介绍“React的基础知识点整理”,在日常操作中,相信很多人在React的基础知识点整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”React的基础知识点整理”...
    99+
    2024-04-02
  • Html5的基础知识点整理
    这篇文章主要介绍“Html5的基础知识点整理”,在日常操作中,相信很多人在Html5的基础知识点整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Html5的基础知识点整理”...
    99+
    2024-04-02
  • linux的基础知识点整理
    这篇文章主要介绍“linux的基础知识点整理”,在日常操作中,相信很多人在linux的基础知识点整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux的基础知识点整理”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-13
  • spark的基础知识点整理
    这篇文章主要介绍“spark的基础知识点整理”,在日常操作中,相信很多人在spark的基础知识点整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”spark的基础知识点整理”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-02
  • CSS基础知识点整理
    本篇内容介绍了“CSS基础知识点整理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS基础  CSS选择器 ...
    99+
    2023-06-05
  • Mybatis的基础知识点
    小编给大家分享一下Mybatis的基础知识点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mybatismybatis-conf...
    99+
    2024-04-02
  • springboot整合websocket最基础入门使用教程详解
    项目最终的文件结构 1 添加maven依赖 <dependency> <groupId>org.springframework.boot...
    99+
    2024-04-02
  • PythonOpencv中基础的知识点
    目录1.创建窗口2.保存图片3.采集视频4.鼠标控制5.TrackBar组件OpenCV 是一个流行的开源计算机视觉库,可用于不同的编程语言,例如 Python、C++ 和 Java...
    99+
    2024-04-02
  • 【OGG】OGG基础知识整理
    【OGG】OGG基础知识整理 一、GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大...
    99+
    2024-04-02
  • Python基础语法(Python基础知识点)
    Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。 第一个Python程序: 交互模式编程: 调用解释器不经过脚本文件...
    99+
    2022-06-04
    基础 知识点 语法
  • Vbs的优点与基础知识
    这篇文章主要介绍“Vbs的优点与基础知识”,在日常操作中,相信很多人在Vbs的优点与基础知识问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vbs的优点与基础知识”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-08
  • Java基础之SpringBoot整合knife4j
    插件的特点 1、非常简洁清爽的UI设计,接口的快速搜索。 2、支持个性化设置,个性化设置包含: 请求参数缓存 动态请求参数 RequestMapping接口过滤 ...
    99+
    2024-04-02
  • redis 基础知识点汇总
    本文涉及的内容参考下面的大纲,另外版本的问题一般都会指出来。 正文 1. 思维导图 简单了做了一个思维导图,详细内容往后看。 2. 详解 下面针对思维导图列出的大纲,展开说明。 2.1 常用的 5 种数据类型 Redis 是基于 C 语言...
    99+
    2014-10-29
    redis 基础知识点汇总
  • MySQL基础知识点汇总
    本文给大家汇总介绍了mysql的23个基础的知识点,这些都是学习mysql的必备知识,小伙伴们可以参考下。 1.什么是SQL语句 sql语言:结构化的查询语言。(Structured Query...
    99+
    2024-04-02
  • Oracle基础知识点总结
    这篇文章主要讲解了“Oracle基础知识点总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle基础知识点总结”吧!首先上一张Oracle体系结构图...
    99+
    2024-04-02
  • Linux基础知识点大全
    这篇文章主要讲解了“Linux基础知识点大全”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux基础知识点大全”吧!一、 从认识操作系统开始1.1 操作系统简介我通过以下四点介绍什么操作...
    99+
    2023-06-16
  • C#基础知识点记录
    目录 课程一、C#基础1.C#编译环境、基础语法2.Winform-后续未学完 课程二、Timothy C#底层讲解一、类成员0常量1字段2属性3索引器5方法5.1值参数(创建副本,方法内...
    99+
    2023-09-03
    c#
  • STM32基础知识点总结
    一、基础知识点  1、课程体系介绍 单片机概述+arm体系结构+STM32开发环境搭建 STM32-GPIO编程-点亮世界的那盏灯 STM32-USART串口应用+SPI+液晶屏 STM32-中断系统 STM32-时钟系统 ...
    99+
    2023-09-04
    stm32 嵌入式硬件 单片机
  • Python基础知识点总结
       学了一年多的Python,去年做了一段时间的爬虫项目,近来在做数据分析和机器学习的东西,抽空整理一下以前学的Python基础知识点,有借鉴与总结。具体知识点后续会分段展开深入。     1.到底什么是Python?你可以在回答中与...
    99+
    2023-01-31
    知识点 基础 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作