# 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
[](https://www.red-coral.cn/message-plus-core)
# 消息增强器核心(message-plus-core)
---
前往主页
[//]: # ( | )
[//]: # (加入我们)
## 介绍
消息增强器核心(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发送邮箱,我们将会积极修复并提供更强大的功能。