impush

command module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

README

im推送系统

简介: 本系统,主要用于即时推送,起源于公司用微信控制电视盒子的项目,内置集群功能,支持TCP长连接,HTTP长连接,websocket等连接方式

使用方法:
1. 下载地址:go get -u gitee.com/cooge/impush
2. 配置好配置文件configure.ini,并与可执行文件放同一目录,运行即可
配置说明
http配置
[HTTP]
port:9090
http api接口配置,默认9090
TCP配置
[TCP]
start:false
port:4641
start:是否启动tcp长连接
false:不启用,true:启用
Websocket配置
[WS]
start:false
start:是否启用websocket
http轮询推送配置
[EX]
start: true
model:C #N 或 C
deadline:5 ##http轮训最长间隔时间,单位秒。超时则判定,用户下线
livetime:5 ##http连接阻塞时间,单位秒,尽可能设置长。N模式下,每隔livetime会断开重连一次;C模式下则是连接超时时间,根据浏览器的支持设定
start:是否启用
model:运行模式
N为普通模式,每隔livetime设定的时间,会断开重连。
C为chunked模式,几乎相当于tcp长连接模式,推荐使用该模式
集群配置
[CLUSTER]
start:false
local.port:6571 
remote.host:127.0.0.1
remote.port:6570
start:是否启用
local.port:推送系统之间连接的端口设置,当前系统开放的端口
remote.host:要连接的集群推送系统,如果要在集群系统中添加一台新机器,只需要连接其中任意一台机器即可
remote.port:配置要连接机器的端口号
日志配置
[LOG]
open:true
path:log 
open:是否打印详细日志
path:日志保存路径
客户端

java版

下载地址:https://gitee.com/cooge/impush/tree/1.0/client/java

			初始化
			IMClient mIMClient = new IMClient("127.0.0.1",4646);
			try {
				mIMClient.setUser("333333", "333333");
				mIMClient.setMessageListener(new MessageListener() {
					
					@Override
					public void onReceiveMessage(Message msg) {
						try {
							log.info("信息接收",msg.getHead(MessageHeadConstant.FROM)+":"+new String(msg.getBody(),"UTF-8")+"\r\n");
						} catch (UnsupportedEncodingException e) {
							e.printStackTrace();
						};
						
					}
					
					@Override
					public void onMessageSatus(String msgId, MessageStatus status) {
					
						log.info("信息回馈",status.name());
					}
					
					@Override
					public void onExecStatus(ExecStatus status) {
						
						log.info("运行状态",status.name());
						
					}
				});
				mIMClient.start();
			} catch (Exception e) {
				e.printStackTrace();
			}
			
            发送信息			
			String msgId = mIMClient.sendMessage("接收者ID","发送的信息");

js版

下载地址:https://gitee.com/cooge/impush/tree/1.0/client/js

loop.html 中有使用例子

websocket版

下载地址:https://gitee.com/cooge/impush/tree/1.0/client/js

websocket.html中有使用例子
服务端API接口

首页:

http://127.0.0.1:9090/

查看服务器的基本信息

单用户信息发送:

http://127.0.0.1:9090/sendmsg?id=123&msg=564654654654

id为要接受信息的用户
msg:要发送的信息

在线用户查看

http://127.0.0.1:9090/onlineuser?start=0&num=10

start 起始页页码
num 单页数量

go 语言map为无顺的,感觉这接口没啥意义

单个用户信息查看

http://127.0.0.1:9090/queryuser?id=333333

查看用户连接信息

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
ws

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL