SpringBoot 使用WebSocket打造在线聊天室
1、WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
2、浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
3、当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。
使用说明:
使用步骤:1、获取WebSocket客户端对象。
例如: var webSocket = new WebSocket(url);
使用步骤:2、获取WebSocket回调函数。
例如:webSocket.onmessage = function (event) {console.log('WebSocket收到消息:' + event.data);
| 事件类型 | WebSocket回调函数 | 事件描述 |
|---|---|---|
| open | webSocket.onopen | 当打开连接后触发 |
| message | webSocket.onmessage | 当客户端接收服务端数据时触发 |
| error | webSocket.onerror | 当通信异常时触发 |
| close | webSocket.onclose | 当连接关闭时触发 |
使用步骤:3、发送消息给服务端
例如:webSokcet.send(jsonStr) 结合实际场景 本案例采用JSON字符串进行消息通信。
先引入websocket依赖
| 1 2 3 4 5 |
|
添加 WebSocketConfig 配置
| 1 2 3 4 5 6 7 8 9 10 11 12 |
|
实体bean接收客户端发过来的信息
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
WebSocketUtil
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
相关文章:
SpringBoot 使用WebSocket打造在线聊天室
1、WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。 2、浏览器通过 Java…...
vcpkg安装第三方库,报错fatal error RC1107: invalid usage; use RC /? for Help
记录一下,vcpkg不知道什么原因安装库失败。 首先就是原本安装过的库,再次安装之后。不知道环境哪里修改了。会导致安装报错。 Change Dir: D:/Software/vcpkg/buildtrees/freeglut/x64-windows-dbgRun Build Command(s): "D:/Program Files/Micros…...
axios的介绍及配置多个服务器url
文章目录 1、常用的默认配置的是:baseURL、method、timeout2、axios配置多个服务器url3、配置api文件4、文件中使用 1、常用的默认配置的是:baseURL、method、timeout ① baseURL:设置url的基本结构(请求根地址)&…...
C# OpenCvSharp 通过特征点匹配图片
SIFT匹配 SURF匹配 项目 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text.RegularExpressions; using System.Windows.Forms; using static System.Net…...
10个python爬虫入门实例
昨天带伙伴学习python爬虫,准备了几个简单的入门实例,涉及主要知识点: web是如何交互的 requests库的get、post函数的应用 response对象的相关函数,属性 python文件的打开,保存 代码中给出了注释,并且…...
麒麟KYLINOS命令行设置系统静音
原文链接:麒麟KYLINOS命令行设置系统静音 hello,大家好啊,今天给大家带来一篇在麒麟KYLINOS上使用命令行调节系统静音的方法,有时候需要制作模板,便可以采用此方法,话不多说,一起来看看吧。 1、…...
零信任安全:构建无懈可击的网络防护体系
随着网络技术的飞速发展,信息安全问题日益凸显,传统的安全防护手段已经无法满足复杂多变的安全需求。在此背景下,零信任安全模型逐渐受到广泛关注。本文将探讨零信任安全的概念、优势以及如何构建无懈可击的网络防护体系。 一、零信任安全概念…...
华为李鹏:到 2025 年智能算力需求将达到目前水平的 100 倍
在第十四届全球移动宽带论坛上,华为高级副总裁、运营商 BG 总裁李鹏表示,大模型为代表的 AI 应用发展带来对智能算力的爆发式需求。 李鹏在题为《加速 5G 商业正循环,拥抱更繁荣的 5.5G》的讲话中表示,「5G 已经走在商业成功的正确…...
【漏洞复现】深信服下一代防火墙NGAF存在任意文件上传漏洞 附POC
漏洞描述 深信服下一代防火墙(Next-Generation Application Firewall)NGAF是面向应用层设计,能够精确识别用户、应用和内容,具备完整安全防护能力,能够全面替代传统防火墙,并具有强劲应用层处理能力的全新网络安全设备。NGAF解决了传统安全设备在应用识别、访问控制、内…...
城市内涝积水预防,万宾科技内涝监测仪如何预警?
近几年来城市内涝所引发的安全隐患极为突出,影响着城市道路安全,而且也让市民心中多有惶恐。一旦城市内涝问题出现背后不仅是路面积水问题,更会导致城市无法正常运行,导致市民日常生活和工作受到影响。所以对于排水防涝设施的建设…...
SpringBoot定时任务打成jar 引入到新的项目中后并自动执行
一、springBoot开发定时任务 ①:连接数据库实现新增功能 1. 引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> </dependency> <dependen…...
AD9371 官方例程 NO-OS 主函数 headless 梳理(一)
AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…...
SHAP 和 LIME 解释模型
内容大纲 1、SHAP 解释器1.1 案例:用于预测患者肺癌1.2 案例中使用的shap解释器1.3 SHAP工作原理1.4 举例说明 2、LIME 解释器2.1 案例:判断法律案件胜诉可能性2.2 LIME解释器工作原理2.3 本地解释模型的训练过程2.4 举例说明1:新闻分类2.4 举…...
若依vue-初步下载使用
若依框架可以满足大部分的后台管理系统的开发,使用频率也是比较高的,所以这里讲一下如何使用若依框架 若依框架代码克隆 首先去若依官网 http://www.ruoyi.vip/ 这里演示的是若依-vue版本的使用 我们点击下载 会跳转到码云仓库 或者直接点击下面的链接去码云仓库 https://git…...
Android 使用.9图 NinePatchDrawable实现动态聊天气泡
最近一段时间,在做一个需求,需要实现一个聊天气泡的动画效果,如下图所示: GitHub源码demo ,建议下载demo,运行查看。 动态聊天气泡动画 静态聊天气泡 经过一段时间调研,实现方案如下: 实现方…...
力扣 LCR 024. 反转链表两种解法
目录 1.解题思路Ⅰ2.代码实现Ⅰ3.解题思路Ⅱ4.代码实现Ⅱ 1.解题思路Ⅰ 利用头插法,遍历数组将后面的元素头插到前面的元素. 2.代码实现Ⅰ struct ListNode* reverseList(struct ListNode* head) { struct ListNode*curhead;;struct ListNode*newheadNULL;whil…...
掌握Capture One 23 Pro,打造专业级图片编辑体验!
作为一位摄影师,您是否曾经为自己的照片无法达到预期效果而烦恼?或者您是否在寻找一种能够让您轻松处理和编辑照片的工具?如果是,那么您一定不能错过Capture One 23 Pro这款图片编辑软件! Capture One 23 Pro的特点 …...
MFC-TCP网络编程服务端-Socket
目录 1、通过Socket建立服务端: 2、UI设计: 3、代码的实现: (1)、CListenSocket类 (2)、CConnectSocket类 (3)、CTcpServerDlg类 1、通过Socket建立服务端ÿ…...
ChatGPT辅助下的小组学习
1 网上分享会-主题 1.9曾子曰:“慎终追远,民德归厚矣。” Master Zeng said:“Be circumspect in funerary services and continue sacrifices to the distant ancestors, and the virtue (de 德) of the common people will thrive.” 2 过程记录 听…...
Linux相关命令
切换root用户:sudo su 串口功能测试:cutecom 某某驱动查询:nvidia-smi #xxx-smi查询某某驱动 在线安装某某程序:apt install xxx 设置文件权限chmod 常用:chmod 777 sudo chmod 600 (只有所有者…...
开源红队平台Viper:一体化、多平台与LLM智能体实战解析
1. 项目概述与核心定位如果你在红队或者渗透测试领域摸爬滚打过几年,大概率会对Cobalt Strike、Brute Ratel这类工具又爱又恨。爱的是它们功能强大,是实战中的“瑞士军刀”;恨的是它们要么价格昂贵,要么生态封闭,要么在…...
JCSprout依赖管理终极指南:Maven与Gradle深度对比
JCSprout依赖管理终极指南:Maven与Gradle深度对比 【免费下载链接】JCSprout 👨🎓 Java Core Sprout : basic, concurrent, algorithm 项目地址: https://gitcode.com/gh_mirrors/jc/JCSprout JCSprout(Java Core Sprou…...
别再让EventSource拖垮你的页面了!聊聊Chrome并发限制下的SSE实战避坑
突破浏览器并发限制:SSE性能优化实战指南 当你的后台管理系统突然卡死,或是实时监控大屏的数据停止更新,很可能正遭遇Chrome的并发连接数限制——这个看似简单的技术约束,却能让精心设计的实时系统瞬间瘫痪。作为前端开发者&#…...
QQ空间备份:三步永久保存你的数字青春回忆
QQ空间备份:三步永久保存你的数字青春回忆 【免费下载链接】QZoneExport QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存 项目地址: https://gitcode.co…...
介绍《传感器与检测技术(第3版)》
《传感器与检测技术(第3版)》胡向东主编的课后习题参考答案汇编,内容涵盖传感器原理、特性、分类、典型传感器工作原理及应用、检测 总体概览 《传感器与检测技术(第3版)》通常指的是由胡向东 教授主编,机…...
终极免费方案:让Windows电脑变身专业级AirPlay 2接收器
终极免费方案:让Windows电脑变身专业级AirPlay 2接收器 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 还在为Windows电脑无法接收iPhone或iPad的AirPlay投屏而困扰吗?Airplay2-…...
开箱即用的本地AI对话平台部署与深度使用指南
1. 项目概述:一个开箱即用的本地AI对话平台最近在折腾AI应用本地化部署的朋友,可能都绕不开一个核心痛点:想要一个界面友好、功能全面、又能保护隐私的AI对话工具,但要么需要自己从零搭建,技术栈复杂;要么就…...
YOLO12检测结果后处理:NMS阈值调整与多框融合策略
YOLO12检测结果后处理:NMS阈值调整与多框融合策略 1. 引言:为什么检测框需要“精修”? 当你用YOLO12跑完一张图片,看到屏幕上密密麻麻的检测框时,是不是觉得大功告成了?先别急,这其实只是完成…...
国产化替代攻坚期最稀缺的固件安全能力:基于ARM TrustZone+国密SM4的C语言可信执行环境(TEE)轻量级实现方案
更多请点击: https://intelliparadigm.com 第一章:军工级 C 语言防篡改固件开发 核心安全目标 军工级固件必须满足抗逆向、抗注入、运行时完整性校验与密钥硬隔离四大刚性要求。所有关键函数入口需植入动态校验桩,禁止使用明文常量字符串和…...
TestDisk PhotoRec:3步拯救丢失数据的终极免费恢复指南 [特殊字符]
TestDisk & PhotoRec:3步拯救丢失数据的终极免费恢复指南 💾 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 你是否曾经不小心删除了重要文件?或者硬盘分区突然消失不…...
