由于公司业务需要,需要做一个实时的消息转发系统。之前用过基于 php 的 workman.一个开源高性能的 PHP socket 服务器框架。但是我们公司有大量业务基于 Restful Api.技术选型使用 node.js 。框架使用 express4。网上没找到合适的脚手架。就自己写了一个基于 Node.js 、redis、Sockit.io 写了一个高性能实时转发的系统。
Github 地址: https://github.com/gytai/node-msg-sender
消息实时推送,支持在线用户数实时统计。基于 Socket.IO 开发,使用 websocket 推送数据,当浏览器不支持 websocket 时自动切换 comet 推送数据。
支持 Linux,mac,windows 等环境部署。
线上 demo
http://112.74.81.224:3000/
可以通过 url: http://112.74.81.224:3000/sendMsg/?type=private&uid=1504936989000&content=消息内容 向当前用户发送消息
可以通过 url: http://112.74.81.224:3000/sendMsg/?type=public&content=消息内容 向所有在线用户推送消息
uid 为接收消息的 uid,如果不传递则向所有人推送消息 content 为消息内容
注:可以通过 php 或者其它语言的 curl 功能实现后台推送
下载安装
1、git clone https://github.com/gytai/node-msg-sender.git
2、npm install
3、apt-get install redis-server
4、redis-server
后端服务启动停止,先安装 PM2(Advanced Node.js process manager,http://pm2.keymetrics.io/)
启动服务
pm2 start bin/www – name msg-sender
停止服务
pm2 stop msg-sender
求 star......