# HaruhiBotEndpoint **Repository Path**: Lelouch-cc/HaruhiBotEndpoint ## Basic Information - **Project Name**: HaruhiBotEndpoint - **Description**: 基于gocq的qq机器人框架,通过配置文件,可配置多个ws客户端和多个ws服务端 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-01-31 - **Last Updated**: 2023-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, WebSocket ## README # HaruhiBotEndpoint #### 介绍 该项目可以通过配置文件,配置多个ws客户端和多个ws服务端(客户端和服务端可以同时存在,且各配置多个) 多个客户端: 1:也就是让该程序去连接多个ws服务端,每一个连接称为一个客户端; 2:每个客户端互相独立,拥有自己的重连和连接等方法; 3:每个客户端维护一个session 多个服务端: 1:所谓多个服务端,其实所有服务端的端口都一样,但多个path,比如[ws://host:port/ws1/path1]和[ws://host:port/ws2/path2] 2:通过不同path使不同服务端有所区别:每个path对应的服务端可以单独配置一些参数, 一个服务端是可以被很多客户端所连接的,所以不同服务端的允许连接数可以不同;ws握手时,对请求头的参数要求可以不同(比如token或其他一些权鉴等);每个服务端允许连接的ip白名单等(目前没做但可以实现);以上这些都可以通过配置文件配置 所有客户端和服务端收到的消息都会统一收集到一个队列,会有‘消费者’实时去消费:消费者发现队列一旦有消息就会取出,交给消息处理者去处理; 处理者可以多个,通过实现接口:[MessageHandler]并且添加注解:[@Component]可以让类变成一个消息处理者; 每一条消息,所有处理者都会处理(类似MQ广播模式) #### 软件架构 springboot springweb maven websocket #### 安装/启动教程 1. 先安装maven和jdk8/jre8(都需要配置环境变量) 2. 下载源码,到源码根目录执行[mvn clean package -U -DskipTests],会出现 target/ 目录 3. 进入 target/ ,执行[java -jar HaruhiBotEndpoint-0.0.1-SNAPSHOT.jar] #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)