当前位置: 首页 > news >正文

Springboot+NettySocket通讯教程

需求背景

最近需要对接一些硬件设备,他们选择了socket通讯,并且使用的是私有化协议加密通讯。这种情况下适合原生的socket加解密解析,不适合NettySocket,这在开发中增加了难度。所有的代码都要手动去敲。

// springboot原生socket通讯教程https://blog.csdn.net/renkai721/article/details/144876503

如果你的只想通过socket传输一些数据,而且都是json的数据,例如聊天室那种,或者是把机器设备的动作数据实时传给客户端,那么建议使用NettySocket,那个比较方便快捷,这篇文章详细讲解。

开发教程

本篇文章已经考虑了断线重连机制,以及简单的服务端定时推送数据到客户端,虽然是个小demo,但是可以用于生产环境做深入开发。常规的springboot项目就可以。先启动客户端或者服务端都可以,因为客户端有断线重连机制。

pom.xml

pom中的依赖,客户端和服务度使依赖的jar包一样。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http:/

相关文章:

Springboot+NettySocket通讯教程

需求背景 最近需要对接一些硬件设备,他们选择了socket通讯,并且使用的是私有化协议加密通讯。这种情况下适合原生的socket加解密解析,不适合NettySocket,这在开发中增加了难度。所有的代码都要手动去敲。 // springboot原生socket通讯教程https://blog.csdn.net/renkai72…...

Spingboot定时任务与过滤器,拦截器

文章目录 Spingboot定时任务与过滤器&#xff0c;拦截器1. 定时任务Scheduled2. 拦截器 Spingboot定时任务与过滤器&#xff0c;拦截器 1. 定时任务Scheduled 一种是使用 Spring 自带的定时任务处理器 Scheduled 注解另一种就是使用第三方框架 Quartz &#xff0c;Spring Boo…...

大数据学习(33)-续集

今天开始重新更新大数据 -- 感谢大家的支持&#xff01;&#xff01;&#xff01;...

overleaf写学术论文常用语法+注意事项+审阅修订

常用语法 导入常用的宏包 \usepackage{cite} \usepackage{amsmath,amssymb,amsfonts} \usepackage{algorithmic} \usepackage{algorithm} \usepackage{graphicx} \usepackage{subfigure} \usepackage{textcomp} \usepackage{xcolor} \usepackage{lettrine} \usepackage{booktab…...

基于fMRI数据计算脑脊液(CSF)与全脑BOLD信号的时间耦合分析

一、前言 笔者之前的文章《基于Dpabi和spm12的脑脊液(csf)分割和提取笔记》,介绍了如何从普通的fMRI数据中提取CSF信号。首先是基础的预处理,包括时间层校正、头动校正,再加上0.01-0.1Hz的带通滤波。接着用SPM12分割出CSF区域,设置一个比较严格的0.9阈值,确保提取的真是…...

使用Dockerfile构建镜像

由于格式和图片解析问题&#xff0c;为了更好体验可前往 阅读原文 前面我们学习了可以使用docker commit命令式构建新的镜像&#xff0c;而此方式相对来说比较繁琐且对于旁人来说内部都是黑箱操作&#xff0c;无法了解制作的具体细节。很有可能很长时间后制作者也会对其忘却&am…...

SQL字符串截取函数——Left()、Right()、Substring()用法详解

SQL字符串截取函数——Left&#xff08;&#xff09;、Right&#xff08;&#xff09;、Substring&#xff08;&#xff09;用法详解 1. LEFT() 函数&#xff1a;从字符串的左侧提取指定长度的子字符串。 LEFT(string, length)string&#xff1a;要操作的字符串。length&#x…...

python字符串函数用法大全

目录 1.0 capitalize()函数 2.0 title()函数 3.0 swapcase()函数 4.0 lower()函数 5.0 upper()函数 7.0 center()函数 8.0 ljust()函数 9.0 rjust()函数 10.0 zfill()函数 11.0 count(&#xff09;函数 13.0 decode()函数 14.0 expandtabs()函数 15.0 find()函数 16.0 rfind()…...

纵览!报表控件 Stimulsoft Reports、Dashboards 和 Forms 2025.1 新版本发布!

Stimulsoft 2025.1 新版发布&#xff0c;旨在增强您创建报告、仪表板和 PDF 表单的体验&#xff01;此最新版本为您带来了许多改进和新功能&#xff0c;使数据处理更加高效和用户友好。亮点包括对 .NET 9 的支持、Microsoft Analysis Services 的新数据适配器、发布向导中适用于…...

【蓝桥杯——物联网设计与开发】Part2:OLED

目录 一、OLED &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;驱动原理 &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、OLED接口函数封装 &#x1f7e1;️OLED_Wri…...

壁纸样机神器,这个工具适合专业设计师用吗?

壁纸样机神器在一定程度上适合专业设计师使用&#xff0c;但是否适合具体取决于设计师的需求和使用场景&#xff1a; 适合专业设计师的方面 快速实现设计想法&#xff1a;专业设计师在创作过程中&#xff0c;有时需要快速将设计想法变为可视化的效果图&#xff0c;以便进行初…...

Linux环境(CentOs7) 安装 Node环境

Linux环境&#xff08;CentOs7&#xff09; 安装 Node环境 使用NodeSource安装Node.js 1、清除缓存&#xff08;可选但推荐&#xff09; sudo yum clean all2、添加NodeSource仓库&#xff0c;根据你想要安装的Node.js版本&#xff0c;选择相应的NodeSource安装脚本。例如&am…...

【Springboot知识】Springboot集成assembly打包组件

assembly系统打包 概述一、项目结构二、配置Maven Assembly插件三、配置assembly.xml四、打包项目五、部署和使用六、注意事项 assembly配置文件说明一、assembly配置文件的基本结构二、assembly配置文件的关键元素三、assembly配置文件的示例四、assembly配置文件与Spring Boo…...

逻辑推理算法

为说明逻辑推理算法的用法&#xff0c;下面是一个简单的逻辑推理算法的伪代码示例&#xff0c;使用了命题逻辑的推理规则&#xff08;例如&#xff1a;命题逻辑中的合取、析取、否定等&#xff09;。代码实现了一个简单的推理引擎&#xff0c;可以根据已知的前提推导出新的结论…...

鸿蒙1.2:第一个应用

1、create Project&#xff0c;选择Empty Activity 2、配置项目 project name 为项目名称&#xff0c;建议使用驼峰型命名 Bundle name 为项目包名 Save location 为保存位置 Module name 为模块名称&#xff0c;即运行时需要选择的模块名称&#xff0c;见下图 查看模块名称&…...

数据结构考前一天

线性表&#xff1a;矩阵&#xff0c;链表&#xff08;单链表必考&#xff09; 栈和队列&#xff1a;出入判断&#xff0c;括号匹配&#xff0c;中缀转后缀 字符串数组&#xff1a;模式匹配next&#xff0c;nextval数组&#xff0c;数组寻址&#xff0c;三角矩阵对应一维数组k…...

【记录】Angr|Angr 标准库函数替换怎么看哪些库函数被Angr支持?

文章目录 前言分析什么是库函数替换?为什么需要库函数替换? 如何查找支持的库函数官方支持列表目录结构说明 常用的替换包括哪些&#xff1f;1. 字符串处理函数2. 内存管理函数3. 文件操作函数 高级技巧1. 自定义库函数实现2. 条件替换 常见问题与解决方案详解1. 找不到合适的…...

npx和npm和pnpm的异同

npx、npm 和 pnpm 都是用于管理和运行 JavaScript/Node.js 包的工具&#xff0c;但它们的功能和使用场景有所不同。以下是它们之间的异同点&#xff1a; 一、共同点 Node.js 包管理生态的一部分&#xff1a; 它们都围绕 Node.js 生态系统&#xff0c;提供包管理功能。 支持安装…...

【蓝桥杯比赛-C++组-经典题目汇总】

1. 最短路 题目描述&#xff1a; 如下图所示&#xff0c;G是一个无向图&#xff0c;其中蓝色边的长度是1、橘色边的长度是2、绿色边的长度是3。 则从 A 到 S 的最短距离是多少&#xff1f; #include <iostream> #include <cstring> using namespace std; const i…...

redis7基础篇2 redis的主从模式1

目录 一 主从模式 1.1 主从复制的作用 1.2 配置常用命令 1.3 主从复制常见问题 1.4 主从复制的缺点 1.5 redis主从复制原理 二 redis主从复制的搭建流程 2.1 注意事项 2.2 redis的主从复制架构图 2.3 以6379.conf配置文件配置为例 2.4 以6380.conf配置文件配置为例 …...

QT----------QT Data Visualzation

实现思路&#xff1a; 配置项目&#xff1a;在 .pro 文件中添加 QT datavisualization 以引入 QT Data Visualization 模块。创建主窗口&#xff1a;使用 QMainWindow 作为主窗口&#xff0c;添加 Q3DScatter、Q3DBars 和 Q3DSurface 等三维视图组件。初始化和创建三维图表&a…...

默认ip无法访问,利用dhcp功能获取ip进行访问的方法

应用场景&#xff1a; ac的默认ip如192.168.1.1在pc与ac的eth2以后网口直连无法ping通&#xff0c;而且pc改为dhcp自动获取ip也获取不到ip地址&#xff0c;无法进行web配置和命令行操作。 原因是ac或其他设备被修改了默认ip或者端口vlanid&#xff0c;现在的端口vlan对应子接…...

重学 Android 自定义 View 系列(十):带指针的渐变环形进度条

前言 该篇文章根据前面 重学 Android 自定义 View 系列(六)&#xff1a;环形进度条 拓展而来。 最终效果如下&#xff1a; 1. 扩展功能 支持进度顺时针或逆时针显示在进度条末尾添加自定义指针图片使用线性渐变为进度条添加颜色效果 2. 关键技术点解析 2.1 进度方向控制的…...

websocket在各主流浏览器中默认的请求头是如何设置的?

谷歌浏览器(Chrome) 在谷歌浏览器中,当创建一个 WebSocket 连接时,会自动添加一些标准的请求头。其中包括Sec - WebSocket - Key,这个是一个 Base64 - 编码的随机值,长度为 16 字节。它用于在服务器端进行安全验证,确保连接的合法性。例如,Sec - WebSocket - Key: dGhl…...

C++之map和set的模拟实现

目录 引言 红黑树迭代器实现 红黑树元素的插入 map模拟实现 set模拟实现 之前我们已经学习了map和set的基本使用&#xff0c;但是因为map和set的底层都是用红黑树进行封装实现的&#xff0c;上期我们已经学习了红黑树的模拟实现&#xff0c;所以本期我们在红黑树模拟实现…...

大学物理(2)期末复习笔记【1】

图片不知道咋回事居然不能直接复制上来&#xff0c;过段时间修改好再编辑一下 9. 振动 一、振动 def&#xff1a;某一物理量在某一数值附近做周期性变化 周期&#xff08;T&#xff09;&#xff1a;完成一次往复运动所需要的时间&#xff08;s&#xff09; 频率&#xff08;…...

25.1.3

java数组&#xff1a; dataType[] arrayRefVar //推荐写法 //int[] mylist //或 dataType arrayRefVar[] //int mylist[]创建数组对象&#xff1a; arrayRefVar new dataType[arraySize]; dataType[] arrayRefVar new dataType[arraySize];for-each循环&#xff1a; jav…...

数据库知识汇总2

一. 范式 定义&#xff1a;范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式&#xff1b; 一个低一级范式的关系模式&#xff0c;通过模式分解&#xff08;schema decomposition&#xff09;可以转换为若干个高一…...

SpringBoot:生成条形码的项目

在软件开发中&#xff0c;条形码和二维码的生成与解析是一项常见需求&#xff0c;特别是在商品管理、物流跟踪、支付验证等场景。Spring Boot 作为一个流行的微服务框架&#xff0c;提供了快速构建应用的能力。本文将介绍如何在 Spring Boot 项目中生成条形码&#xff0c;并提供…...

docker内外如何实现ROS通信

写在前面 在一台电脑上装有docker&#xff0c;docker内外均装有ROS系统&#xff0c;现在想要实现docker内外的ROS通信&#xff0c;怎么办呢&#xff1f; 首先&#xff0c;因为是同一台电脑的docker内外&#xff0c;所以IP本身是互通的&#xff0c;不需要在/etc/hosts中添加IP…...

leetcode 面试经典 150 题:多数元素

链接多数元素题序号169题型数组解法1. 排序法、2. Boyer-Moore投票算法难度简单熟练度✅✅✅✅✅ 题目 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的…...

SpringBoot返回文件让前端下载的几种方式

01 背景 在后端开发中&#xff0c;通常会有文件下载的需求&#xff0c;常用的解决方案有两种&#xff1a; 不通过后端应用&#xff0c;直接使用nginx直接转发文件地址下载&#xff08;适用于一些公开的文件&#xff0c;因为这里不需要授权&#xff09;通过后端进行下载&#…...

论述数据、数据库、数据库管理系统、数据库系统的概念。

数据是指描述事物特征的符号记录&#xff0c;可以是数字、文字、图像、音频等形式。数据在现代社会中广泛存在于各个领域&#xff0c;对于组织和管理数据&#xff0c;提供数据的可靠性、一致性和安全性至关重要。 数据库是一个有组织的数据集合&#xff0c;它存储在计算机系统…...

【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二)

【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度学习网络中提取多尺度特征的&#xff1f;附代码&#xff08;二&#xff09; 【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度…...

企业AAA认证的好处

体系认证#ISO三体系认证 #三体系认证好处 #企业双软认证好处 #ISO体系认证有哪些#体系认证办理流程及费用#招投标#招投标必备资质 企业信用评级AAA认证 办理条件及流程! 一、企业申请3A认证好处有哪些&#xff1f; 1.提高企业信誉&#xff1a; 拥有3A企业信用等级证书意味…...

PyTorch AMP 混合精度中grad_scaler.py的scale函数解析

PyTorch AMP 混合精度中的 scale 函数解析 混合精度训练&#xff08;AMP, Automatic Mixed Precision&#xff09;是深度学习中常用的技术&#xff0c;用于提升训练效率并减少显存占用。在 PyTorch 的 AMP 模块中&#xff0c;GradScaler 类负责动态调整和管理损失缩放因子&…...

分数阶傅里叶变换代码 MATLAB实现

function Faf myfrft(f, a) %分数阶傅里叶变换函数 %输入参数&#xff1a; %f&#xff1a;原始信号 %a&#xff1a;阶数 %输出结果&#xff1a; %原始信号的a阶傅里叶变换N length(f);%总采样点数 shft rem((0:N-1)fix(N/2),N)1;%此项等同于fftshift(1:N)&#xff0c;起到翻…...

腾讯云OCR在制造业的应用:内存模组产品识别实战指南

腾讯云OCR在制造业的应用 一、 背景二、 腾讯云OCR技术概述三、 内存模组产品识别需求四、基于腾讯云OCR的内存模组产品识别4.1、准备工作4.2、API调用与代码实现 五、 代码示例六、 应用场景七、 总结 一、 背景 制造业在产品识别环节经历着前所未有的挑战。传统的依赖人工进…...

基于STM32F1的基本定时器的原理

一&#xff0c;基本定时器原理 1&#xff0c;进入数据手册&#xff0c;了解基本定时器的主要特征 2&#xff0c;看懂理解基本定时器框图 3&#xff0c;查阅2.3章中的存储器映像以及时钟树就可以知道定时器是挂载在哪个总线下&#xff0c;从而知道对应是时钟频率 4&#xff0c;…...

Adobe Acrobat Pro DC 2023 下载安装教程,附详细图文

简介&#xff1a; Adobe Acrobat Pro DC 2023 是由 Adobe 公司推出的一款全面的 PDF 编辑、查看和管理软件。这款软件无论是个人用户还是企业级用户&#xff0c;都可以凭借其强大的功能满足不同的需求。作为一款业内领先的 PDF 处理工具&#xff0c;Adobe Acrobat Pro DC 不仅…...

活动预告 |【Part1】 Azure 在线技术公开课:迁移和保护 Windows Server 和 SQL Server 工作负载

课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft 云技术的了解。参加我们举办的“迁移和保护 Windows Server 和 SQL Server 工作负载”活动&#xff0c;了解 Azure 如何为将工作负载…...

根据 el-dialog 的高度动态计算 el-table 的高度

根据 el-dialog 的高度动态计算 el-table 的高度&#xff0c;可以使用 Vue 的 ref 和生命周期钩子来实现。以下是一个实现方案&#xff1a; 首先&#xff0c;给 el-dialog 和 el-table 添加 ref&#xff1a; <el-dialogv-model"testInstrumentDialogVisible"tit…...

算法解析-经典150(双指针、滑动窗口)

文章目录 双指针1.验证回文串1.答案2.思路 2.判断子序列1.动态规划解法2.双指针 3.两数之和 II - 输入有序数组1.答案2.思路 4.盛最多水的容器1.答案2.思路 5.三数之和1.答案2.思路 滑动窗口1.长度最小的子数组1.答案2.思路 2.无重复字符的最长子串1.答案2.思路 3.最小覆盖子串…...

Postman[2] 入门——界面介绍

可参考官方 文档 Postman 导航 | Postman 官方帮助文档中文版Postman 拥有各种工具、视图和控件&#xff0c;帮助你管理 API 项目。本指南是对 Postman 主要界面区域的高级概述&#xff1a;https://postman.xiniushu.com/docs/getting-started/navigating-postman 1. Header&a…...

GAMES101学习笔记(一):Overview 计算机图形学概述

文章目录 关于计算机图形学本课程讨论的话题光栅化曲线和网格光线追踪动画/仿真 课程大纲CG vs CV图形学的依赖学科线性代数回顾 课程资源&#xff1a;GAMES101-现代计算机图形学入门-闫令琪 Lec1 ~ Lec2 学习笔记&#xff1a; Lecture 01 &#xff1a;Overview of Computer G…...

iOS 18手机不越狱玩MC java版---PojavLauncher

环境 手机&#xff1a; iPhone SE 3 iOS: 18.1.1 电脑操作系统&#xff1a;macOS Sequoia 15.1.1 步骤 电脑上安装altstore https://altstore.io/ 直接下载自己操作系统对应的版本即可。 安装altstore到手机 以下是我记忆中的步骤&#xff0c;关键步骤我提一下 手机连接…...

uni-app开发-习惯养成小程序/app介绍

目录 一:功能概述 二:功能部分代码和截图 一:功能概述 1 习惯目标生成 创建习惯:用户可以添加新的习惯目标,每个习惯可以包含名称、描述、图标、目标天数。 关联习惯完成:用户通过设定达成目标以后,生成习惯养成记录。 2 习惯打卡 简单快捷的打卡:提供一个直观的界面…...

服务器迁移中心——“工作组迁移”使用指南

简介 服务器迁移中心&#xff08;Server Migration Center&#xff0c;简称SMC&#xff09;是阿里云提供给您的迁移平台。专注于提供能力普惠、体验一致、效率至上的迁移服务&#xff0c;满足您在阿里云的迁移需求。 工作组迁移是SMC的一项功能&#xff0c;提供标准化迁移流程…...

下载离线的瓦片图是做了模糊处理嘛?

问题&#xff1a; 1.下载离线的瓦片图是做了模糊处理嘛&#xff1f; 2.怎么加载自己的离线瓦片图比实际图片模糊了很多&#xff1f;啊 3.同层级的图片都比实际的图片模糊 原因&#xff1a;https://zhuanlan.zhihu.com/p/389945647 可以尝试下略微优化下&#xff1a; 1.降低…...

日志聚类算法 Drain 的实践与改良

在现实场景中&#xff0c;业务程序输出的日志往往规模庞大并且类型纷繁复杂。我们在查询和查看这些日志时&#xff0c;平铺的日志列表会让我们目不暇接&#xff0c;难以快速聚焦找到重要的日志条目。 在观测云中&#xff0c;我们在日志页面提供了聚类分析功能&#xff0c;可以…...