- ALL
- java38
- linux32
- 工具18
- 其他15
- 数据库7
- ai6
- git5
- vue5
- 前端5
- nas5
- 脚本3
- docker3
- framework3
- windows3
- 漫画3
- hexo2
- app2
- 智能家居2
- maven2
- 小程序2
- spring2
- api1
- 资源1
- 部署1
- mysql1
- 安全1
- markdown1
- appflowy1
- question1
- 系统1
- 运维1
- 数据传输1
- 数据结构1
- python1
- nginx1
对接了一个园区的电子围网,全流程如下,其他TCP协议可以参考
[!前言] 本项目采用spring boot框架,使用netty做网络应用程序框架。下面做全流程分析。项目源码地址:https://github.com/chenqi92/pc-electric-fence.git 报文协议 这个应该是厂商自家定义的报文协议,发过来就是一个txt,协议原文内容如下😂 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118一、通讯方式 1. 串口方式: 波特率为9600bps,采用8-N-1格式 2. 网络方式: PC端做TCP服务器,默认监听端口5000二、数据包格式 ...
单一源事件(SSE)的一个spring boot实现,常用来将服务端内容实时推送到前端展示
[!前言] 不同于WebSockets提供了双向通信的能力,SSE只支持单向通信。但对于一些场景,如服务器向客户端发送通知或实时更新,SSE是一个简单且有效的选择。 说明 单一源事件(SSE)是一种用于实现服务器向客户端推送数据的网络技术。通常Web应用程序是基于请求-响应模式工作的,客户端需要定期向服务器发送请求以获取更新的数据。但是对于需要实时更新的应用,如聊天应用、股票市场更新等,这种轮询的方式效率不高。 SSE技术通过建立一次持久的连接,允许服务器主动向客户端发送数据,而不需要客户端发送请求。这种推送模式能够显著减少网络流量和服务器负载,同时实现实时更新。在SSE中,服务器向客户端发送一系列数据块,每个数据块以"event: "、"data:...
获取文件服务的文件并打包压缩至本地
前言 当前项目有这样一个需求,mysql数据库中一张人员表存放了人员的照片路径,照片是集中存放在文件服务器上,当前项目文件服务器使用的是minio 表结构(供参考,只为了取值) 1234567891011121314151617181920212223242526272829303132333435363738394041424344DROP TABLE IF EXISTS `cm_person`;CREATE TABLE `cm_person` ( `person_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '人员ID', `unit_id` bigint(20) NOT NULL COMMENT '单位id', `depart_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID', `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT...
spring boot解密数据体
有这样一个需求,拿到一份其他园区的五位一体数据对接文档,要求根据文档实现类似的服务端提供企业传输数据‘ 实现方式(下文采用的是HttpMessageConverter的方式,还有其他方式暂不列举) 消息转换器 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980package com.lyc.wwyt.config.convert;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;import...
自定义格式化mybatis、mybatis plus中打印的sql
前提条件 连接池使用的是阿里的druid,其他连接池后续有空再考虑 继承FilterEventAdapter并重写statement_close和resultSet_next statement_close 用于格式化delete,insert(没有主键id返回),update resultSet_next...
allbs工具类说明 - oss工具
依赖jar包 引入包 版本 jdk 1.8 spring boot 2.7.4 spring-boot-autoconfigure 2.7.4 spring-boot-starter-web 2.7.4 aws-java-sdk-s3 1.12.332 jakarta.validation-api 3.0.2 使用 添加依赖 mavenGradleKotlin12345<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-oss</artifactId> <version>2.0.0</version></dependency>1implementation 'cn.allbs:allbs-oss:2.0.0'1implementation("cn.allbs:allbs-oss:2.0.0") 添加配置 12345678oss: ...
allbs工具类说明 - 幂等、防重复提交
依赖jar包 引入包 版本 jdk 1.8 spring boot 2.6.2 spring-boot-starter-aop 2.6.2 redisson-spring-boot-starter 3.13.4 使用 添加依赖 mavenGradleKotlin12345678910<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-idempotent</artifactId> <version>1.1.8</version></dependency><dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> ...
java根据word模版导出word文件
制作模版 引入依赖freemarker 和easypoi 123456789<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> ...
allbs工具类说明 - excel导入导出
依赖jar包 引入包 版本 jdk 1.8 spring boot 2.7.4 easyexcel 3.1.1 spring-boot-starter-validation 2.7.4 spring-boot-starter-web 2.7.4 allbs-common 1.1.8 spring-boot-starter-aop 2.7.4 使用 添加依赖 mavenGradleKotlin12345<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-excel</artifactId> <version>1.1.8</version></dependency>1implementation...
allbs工具类说明 - influxdb
依赖jar包 引入包 版本 jdk 1.8 spring boot 2.7.9 influxdb-java 2.23 spring-boot-autoconfigure 2.7.9 jackson-databind 2.15.2 源码 https://github.com/chenqi92/allbs-influx 使用 添加依赖 mavenGradleKotlin12345<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-influx</artifactId> <version>2.0.2</version></dependency>1implementation...
