学生模块功能比较少,就是进行考试和查看自己成绩两个大的功能。学生进行考试的功能比较复杂(首先做了校验,不在考试时间范围内,不能进行考试)考试试题是数据库根据发布考试时的条件随机产生的一套试题。因为每次考试题型题量都是不同的,因此我们继续采用JSON的格式去保存数据,当状态为1:表示正在考试;状态为2:表示已经考试结束;状态为3:表示老师已经阅完试卷(1)当考试考试的时候,会给考上随机产生一套试题,
转载
2024-08-20 21:05:06
28阅读
在本文中,我们将深入讨论 Java 中 MQTT 协议中 PINGREQ 问题的调试与解决过程。MQTT 是一种轻量级的消息传递协议,广泛应用于物联网(IoT)场景中。确保 MQTT 连接的稳定性和消息传递的有效性不仅对于用户体验至关重要,同时也对系统架构提出了较高的要求。
## 背景定位
在一个典型的物联网应用中,我们的系统需要处理来自数以千计的设备的实时数据。设备需要频繁地发送数据并维持连
一、全局说明这里只是 去掉了 redis 和 control使用 项目首次启动 创建订阅 和 定时任务发送消息看原文也替挺好。这里 复制了 原文的所有东西。原文在这里:谢谢雄雄老师这一篇是基于emqx消息服务器,还有另一篇是基于netty的netty的 内部包含了 mqtt,所以不需要单独安装emqx基于netty的连接如下:安装后emqx 就能用了,也不需要登录,首次登录 emqx需要改密码二、
转载
2023-11-30 22:52:01
119阅读
网易云信 UI 组件 · iOS简介云信 UI 组件,全称 Netease Instant Message Kit,简称 NIMKit,是一款开源的聊天组件,并支持二次开发。开发者只需要稍作配置就可以打造出属于自己的聊天界面,而通过一些自定义的设置,也可以轻松添加业务相关的功能,如阅后即焚,红包,点赞等功能。NIMKit 底层依赖 NIMSDK,是一款由网易开发的 IM SDK,通过它可以轻松快速
转载
2024-09-02 16:09:37
53阅读
连接服务端 客户端到服务端的第一个报文必须是CONNECT,且只能发送一次,发送的第二个connect报文当作违规处理并断开连接。 有效载荷包含一个或者多个编码的字段。包括客户端的唯一标识符,Will主题,Will消息,用户名和密码。 除了标识外,其他字段都是可选的,基于标志位决定可变报头中是否需要包含这些字段。固定报头 报头长度:2 Bytes 1、报文类型:1 CONNE
转载
2023-12-14 22:19:08
190阅读
除了用于连接、发布和订阅的控制报文,MQTT 还有一类报文用于在客户端和服务端之间模拟心跳,以达到保持连接的目的,它们分别是 PINGREQ 报文和 PINGRESP 报文,我们通常也会称它们为心跳报文。
原创
精选
2024-07-04 18:35:07
253阅读
RocketMQ版本4.6.0,记录自己看源码的过程启动流程broker入口在BrokerStartup类中main()方法public static void main(String[] args) {
// 1、解析并创建相关配置,根据配置创建BrokerController组件
// 2、初始化BrokerController组件,,主要是创建一个netty服务器以及一些线程
MQTT通讯协议的特点1. 概述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器的通信协议。2. 主要特征MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的
一、目的目的:背景:在华清学习之余,自行研究了智能家居的东西,为实现MQTT服务器私有化而研究此功能技术定位:初级整体思路:主要利用EMQX来实现二、MQTT说明2.1 MQTTMQTT即消息队列遥测传输技术协议,基于发布/订阅(publish/subscribe)。目的:为连接远程设备提供实时的可靠的消息服务。2.2 MQTT协议原理发布者(Publish)代理服务器(Broker)订阅者(Su
转载
2024-07-01 09:56:00
138阅读
文章目录一、项目说明1.1 项目目标1.2 项目平台与技术栈1.3 项目功能二、项目演示2.1 进入题目列表页2.2 进入题目详情页2.3 编写代码2.4 提交运行三、系统流程(核心)四、系统设计4.1 执行指令设计4.2 编译和运行设计4.3 读写文件的设计4.4 数据库设计4.5 JDBC工具类4.6 题目增删查的设计4.6.1 查4.6.2 增4.6.3 删4.7 题目信息API4.7.1
转载
2023-09-11 20:33:06
52阅读
又学一招,来自组织的微信群如果.bashrc 无法保存,解决方案删掉.swp删掉.bashrc.bak就OKconda查看当前环境下,都安装了哪些软件conda list发现有一篇很好的介绍文章还有一篇进入正题,AWK前一段时间,看到好多生信组的童鞋不远千里的坐小火车去学习awk,觉得不是很理解。直到最近自己要准备各种文件,才觉得此乃神器,必须掌握以下摘抄自别人awk [-F|-f|-v] ‘BE
转载
2023-09-25 18:23:32
57阅读
LRU 缓存LRU 是什么?最近最少使用算法。一个队列,将最近使用的元素放到队列的头部,当队列长度不够时,移除队列的最后一个元素,也就是最近最少使用的元素。解法 1:继承 LinkedHashMap
投机取巧解法(最好还是自己实现),利用 Java 的 LinkedHashMap 已经实现好的方法,所以直接继承 LinkedHashMap 为父类即可。有兴趣可以自己阅读 LinkedHashMap
转载
2024-06-13 17:57:57
24阅读
1. 把10进制转成N进制:除N取余,逆序排列这里逆序排列使用StringBuilder类的reverse()函数来实现。/**
* 10进制整数转换为N进制整数。 10进制转换为N进制的方法是:这个10进制数除以N,求出余数,并把余数倒叙排列。 除N取余,倒叙排列
* @param tenRadix
* 十进制整数
* @param radix
*
转载
2024-06-12 16:17:32
25阅读
和 TCP 相反,UDP 协议是无连接协议。客户端发出 UDP 数据包后,只能“假设”这个数据包已经被服务端接收。这样的好处是在网络传输层无需对数据包进行确认,但存在的问题就是为了确保数据传输的可靠性,应用层协议需要自己完成包传输情况的确认。此时,QUIC 协议就登场了。QUIC 是 Quick UDP Internet Connections 的缩写,谷歌发明的新传输协议。与 TCP 相比,QU
转载
2023-09-19 07:32:02
100阅读
Java的I/O模型java在JDK中提供了三种I/O模型,一类是最原始也是我们用得最多最熟悉的阻塞I/O模型BIO,使用InputStream和OutputStream进行读写操作。第二种是jdk1.4之后的NIO,相比起BIO在性能上无疑是一个巨大的提升,NIO的应用场所主要是在网络上,因为相比起CPU,内存,硬盘的处理速度,网络差了太多太多,所以在开发网络应用时,使用BIO模型,处理器大多数
转载
2023-07-20 16:44:47
50阅读
一.概念LRU(last recently use,最近最少使用)算法是一种内存管理的算法。它的基本思想是:最近使用的页面数据会在未来一段时期内仍然被使用,已经很久没有使用的页面很有可能在未来较长的一段时间内仍然不会被使用。利用它可以筛选热点数据,当缓存达到最大值时,可以进行缓存淘汰。二.LRU的实现:利用双向链表实现2.1 构造链表节点每个节点有键值,并有前后节点。/**
* 构造一个节点
转载
2024-06-24 19:42:28
69阅读
一、Java思维导图二、I/O模型 I/O模型的本质是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。 Java共支持三种网络编程模型:BIO、NIO、AIO BIO:同步并阻塞,服务实现模式为一个连接一个线程,即客户端有一个连接请求时,服务端就需要启动一个线程进行处理。 NIO: 同步非阻塞,服务器实现模式为一个线程处理多个请求连接,即客户端发送的请求都会注册到多
转载
2023-07-20 21:12:15
42阅读
Serializable接口实现序列化和反序列化实例首先需要明确的概念:
序列化:将数据结构或对象转换成二进制字节流的过程
反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程
持久化:将数据写入文件中长久保存的过程称之为持久化
序列化主要目的:是通过网络传输对象或者说是将对象存储到文件系统、数据库、内存中。序列化反序列化实例:1.创建一个学生类实现Serializab
转载
2023-10-10 06:59:35
47阅读
Spring AOP的实现 1、AOP的定义AOP(Aspect Oriented Programming 面向切面编程)是一种通过运行期动态代理实现代码复用的机制,是对传统OOP(Object Oriented Programming,面向对象编程 )的补充。2、AOP的配置方法目前,Aspectj是Java社区里最完整最流行的AOP框架,在Spring 2.0以上版本中可以通过Aspectj注
转载
2023-09-30 19:41:36
61阅读
Java NIO原理分析这里主要围绕着Java NIO展开,从Java NIO的基本使用,到介绍Linux下NIO API,再到Java Selector其底层的实现原理。Java NIO基本使用Linux下的NIO系统调用介绍Selector原理Channel和Buffer之间的堆外内存Java NIO基本使用从JDK NIO文档里面可以发现,Java将其划分成了三大块:Channel,Buff
转载
2023-09-04 22:32:41
55阅读