nodejs+socketio+redis实现前端消息实时推送

nodejs+socketio+redis实现前端消息实时推送

1. 后端部分 发送redis消息

可以参考此篇实现(直接使用Jedis即可)

http://www.cnblogs.com/binyue/p/4763352.html

2.后端部分: 接收redis消息

var redis;
if(process.argv.length <= 2){ redis = require('redis').createClient(); }else{ redis = require('redis').createClient(6379,process.argv[2]); } var io = require('socket.io').listen(5678); var clients = {} redis.subscribe('console'); redis.on('message', function(channel, data){ if (channel=="console"){ args = JSON.parse(data); for(var s in clients){ clients[s].emit('event_' + args.id, args.message); } } }); io.on('connection', function(socket){ var address = socket.request.connection.remoteAddress + ":" + socket.request.connection.remotePort console.log(new Date() + ' client connected ['+ socket.id + "] " + address); clients[socket.id] = socket; socket.on('disconnect', function(){ console.log("discopnnect " + this.id + "-----" + this.request.connection.remoteAddress + ":" + this.request.connection.remotePort); delete clients[socket.id]; }); socket.on('event', function(message){ }); });

package.json

{
  "name" : "real-time",
  "description" : "providing real-time message push for ",
  "version" : "0.0.1", "dependencies" : { "socket.io" : "1.2.1", "redis": "0.7.3", "socket.io-client": "1.2.1" } }

前端部分 接收消息并显示

使用了 socket.io-1.0.6

var socket = io.connect(beeper_url);
    socket.on('event_' + event_id,function(data){ callback(data); })

转载于:https://www.cnblogs.com/fangyuan303687320/p/5742735.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值