# impush **Repository Path**: wuzhonglin-gitee/impush ## Basic Information - **Project Name**: impush - **Description**: 即时推送,内置集群功能,支持TCP长连接,HTTP长连接,websocket等连接方式 详细使用说明 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://cooge.gitee.io/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 31 - **Created**: 2022-11-29 - **Last Updated**: 2022-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一.使用说明 ## 1.代码获取 go get -u gitee.com/cooge/impush ## 2.文件下载 linux:https://gitee.com/cooge/impush/releases windows: https://gitee.com/cooge/impush/releases ## 3.运行 在配置文件configure.ini中将需要使用的推送方式开启,以及相应配置配好后,运行 ==注:不要使用windows自带记事本编辑配置文件,会无法识别== # 二.服务配置 ## 接口使用说明 ### 1. 参考配置 [HTTP] port:9090 ssl:true keyname:impush.key crtname:impush.crt ### 2. 配置说明 > port http接口,对服务端http协议端口,该接口还用于http轮询,websocket > ssl 是否启用 https > keyname key名称,文件放程序根目录下,源代码中提供的为测试证书,请不要直接使用 > crtname 证书名称,文件放程序根目录下,源代码中提供的为测试证书,请不要直接使用 ## tcp使用说明 ### 1. 参考配置 [TCP] start:false port:4641 ### 2. 配置说明 > start 是否启用tcp推送 > port 推送启用的端口 ### 3. 客户端: java代码:https://gitee.com/cooge/impush/tree/master/client/java == 其它语言有需求请联系作者== ## websocket使用说明 ### 1. 参考配置 [WS] start:true ### 2. 配置说明 > start 是否启用 ### 3. 演示页面 https://cooge.gitee.io/js/websocket.htm ## http轮询使用说明 ### 1. 参考配置 [EX] start: true model:C deadline:10 livetime:120 ### 2. 配置说明 > start 是否启用 > model 运行模式 #N 或 C N为普通模式,连接后会在livetime设定的时间后,断开,并再次由客户端重连 C模式为chunked 模式,连接上后会保持超长连接时间,这时的livetime为写超时连接时间。服务端会每隔livetime给客户端发送一次空数据包维持连接。 > deadline http轮训最长间隔时间,单位秒,用户断开连接后到再次连接的时间。超时则判定,用户下线 > livetime http连接阻塞时间,单位秒,尽可能设置长。N模式下,每隔livetime会断开重连一次;C模式下则是连接超时时间,根据浏览器的支持设定 ### 3. 演示页面 https://cooge.gitee.io/js/loop.htm ## 集群 ### 1. 参考配置 [CLUSTER] start:true local.port:6570 remote.host:127.0.0.1 remote.port:6570 ### 配置说明 > start 是否启用集群 > local.port 本地集群端口,用于与其它机器交互数据 > remote.host 其它机器的IP,可以是集群中的任意一台机器,假如是第一台机器,可以不填 > remote.port 其它机器的端口,可以是集群中的任意一台机器,假如是第一台机器,可以不填 ## 日志配置 ### 1. 参考配置 [LOG] open:true path:log ##日志保存路径 ### 配置说明 > open 是否启用日志详细打印 > path 日志保存路径 ## 服务端接口 ### 1. 首页 http://127.0.0.1:9090/ 系统的基本信息 ### 2. 给用户信息发送: 单个用户 http://127.0.0.1:9090/sendmsg?id=123&msg=564654654654 多个用户 http://127.0.0.1:9090/sendmsg?id=123,2345&msg=564654654654 id为要接受信息的用户 msg:要发送的信息 ### 3. 在线用户查看 http://127.0.0.1:9090/onlineuser?start=0&num=10 start 起始页页码 num 单页数量 go 语言map为无序的,感觉这接口没啥意义 ### 4.单个用户信息查看 http://127.0.0.1:9090/queryuser?id=333333 查看用户连接信息