你们平常工作中用哪些通信工具进行交流呢?陌陌?QQ?并且有不少单位为了避免职工捉鱼,不容许职工使用上述工具,但一些能给你们用的本地通信工具呢又不怎样好用,所以昨晚TJ君来和你们分享一个适用于开发者的分布式即时通信系统开源操作系统有哪些,crossIM,简称CIM
CIM总的来说,是一款面向开发者的即时通信系统,它可以提供一些组件帮助开发者建立成一款属于自己的即时通信工具。
目前早已实现的功能有:
在开发计划中的功能有:
整体的系统构架如右图所示:
其中,各个组件均采用SpringBoot建立开源操作系统有哪些,底层通讯采用Netty建立,而储存各个顾客端的路由信息、账号信息、在线状态的则是Redis,最后使用了Zookeeper进行IM-server的注册与发觉。
其整体功能流程可以这样理解:
首先顾客端向route发起登陆。登录成功后,从Zookeeper中选择可用的IM-server返回给顾客端,并保存登陆、路由信息到Redis。之后由顾客端向IM-server发起长联接恳求,连同后保持活跃。最后当顾客端下线时通过route清理状态信息。
快速启动四步骤
1、安装Zookeeper、Redis并保证网路通畅。
cd cim
mvn -Dmaven.test.skip=true clean package
2、部署IM-server(cim-server)
cim-server集群布署同理,只要保证Zookeeper地址相同即可。
cp /cim/cim-server/target/cim-server-1.0.0-SNAPSHOT.jar /xx/work/server0/
cd /xx/work/server0/
nohup java -jar /root/work/server0/cim-server-1.0.0-SNAPSHOT.jar --cim.server.port=9000 --app.zk.addr=zk地址 > /root/work/server0/log.file 2>&1 &
3、部署路由服务器(cim-forward-route)
cim-forward-route本身就是无状态,可以布署多台;使用Nginx代理即可。
cp /cim/cim-server/cim-forward-route/target/cim-forward-route-1.0.0-SNAPSHOT.jar /xx/work/route0/
cd /xx/work/route0/
nohup java -jar /root/work/route0/cim-forward-route-1.0.0-SNAPSHOT.jar --app.zk.addr=zk地址 --spring.redis.host=redis地址 --spring.redis.port=6379 > /root/work/route/log.file 2>&1 &
4、启动顾客端
启动两个顾客端就可以互相通信。
cp /cim/cim-client/target/cim-client-1.0.0-SNAPSHOT.jar /xx/work/route0/
cd /xx/work/route0/
java -jar cim-client-1.0.0-SNAPSHOT.jar --server.port=8084 --cim.user.id=唯一客户端ID --cim.user.userName=用户名 --cim.route.url=http://路由服务器:8083/
顾客端有一些常用的外置命令,比如:
:q!退出顾客端
:olu获取所有在线用户信息
:all获取所有命令
:q[option]【:q关键字】查询聊天记录
:ai开启AI模式
:qai关掉AI模式
:pu模糊匹配用户
:info获取顾客端信息
:emoji[option]查询表情包[option:页脚]
:delay[msg][delayTime]发送延时消息
让我们一起看下一些实际聊天交流的疗效:
假如认为不错的男子伴,可以来试试哦!项目地址如下:
暂无评论内容