# message-plus-core **Repository Path**: modmb/message-plus-core ## Basic Information - **Project Name**: message-plus-core - **Description**: 消息增强器核心(message-plus-core)基于Netty网络框架创造的高性能通讯框架,提供基础的路径请求、语音请求等基础请求类型,同时支持强大的注解式自定义请求类和自定义请求处理器;并且框架自带群组及聊天室功能,使用提供的工具类即可快速调用。该框架不提供过多的实际功能,但是提供更多的接口定义,保证开发者可以自由开发。 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://www.red-coral.cn/message-plus-core - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-11-17 - **Last Updated**: 2025-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![](./doc/img/core_logo.png)](https://www.red-coral.cn/message-plus-core) # 消息增强器核心(message-plus-core) star fork --- 前往主页 [//]: # ( | ) [//]: # (加入我们) ## 介绍 消息增强器核心(message-plus-core)基于Netty网络框架创造的高性能通讯框架,提供基础的路径请求、语音请求等基础请求类型,同时支持强大的注解式自定义请求类和自定义请求处理器;并且框架自带群组及聊天室功能,使用提供的工具类即可快速调用。该框架不提供过多的实际功能,但是提供更多的接口定义,保证开发者可以自由开发。 功能: 1. 支持多种通信协议,目前有官方的MPCA协议以及WebSocket协议。 2. 提供心跳请求、文字请求、语音请求、图片请求以及强大的路径请求,同时可以自定义请求功能。 3. 思路来自于@Controller,可以通过注解实现对应方法的请求路径,通过路径请求可以自动路由到指定方法。 4. 自带SaToken权限校验框架,为开发者保证足够的安全性。 5. 提供自定义请求处理器,可以自由处理自定义请求类型,同时还提供请求前处理器及响应前处理器(类似于拦截器)。 6. 后端提供各种接口来保证开发者可 ## 软件架构 Maven + SpringBoot + Hutool + Netty + SaToken ## 通信协议 ### 1.MPCA | 名称 | 类型 | 长度 | |:----:|:------:|:-----:| | 协议版本 | byte | 1byte | | 请求类型 | short | 2byte | | 内容长度 | int | 4byte | | 内容 | string | * | ### 2.WebSocket #### a.字符串 对象的JSON字符串即可 ```json { "type": 0 } ``` #### b.二进制 | 名称 | 类型 | 长度 | |:--------:|:------:|:-----:| | 协议版本 | byte | 1byte | | 请求类型 | short | 2byte | | 内容长度 | int | 4byte | | 内容 | string | * | | 文件长度(可选) | int | 4byte | | 文件内容(可选) | byte[] | * | *文件如音频或图片等。 ## 案例项目 Java服务端及客户端 [跳转](https://gitee.com/modmb/message-plus-core-demo-java) Vue客户端 [跳转](https://gitee.com/modmb/message-plus-core-demo-vue) ## 快速上手 1、在启动类加上@EnableMessagePlusCore注解即可启动消息增强器核心: 使用Java代码连接可以查看test下的ClientTest,其它语言的连接方式请自行查询。 2、如何创建自己的请求类: 以自带的ChatRequest请求类为例,首先需要添加@MessagePlusRequest注解(同时需要该类被Bean容器扫描到),然后继承MessageRequest抽象类并实现其抽象方法(自定义请求类型字节码需要大于等于100)。 ```java @MessagePlusRequest public class ChatRequest extends MessageRequest { String content; public ChatRequest() {} public ChatRequest(String content) { this.content = content; } @Override public byte getType() { return 1; } } ``` 注意:请求类必须存在无参构造方法。 ## 使用说明 1. 如果使用过程出现bug或者存在不足,可以向red_coral20240606@163.com发送邮箱,我们将会积极修复并提供更强大的功能。