1. 后端部分 发送redis消息

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

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

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

  1. var redis;
  2. if(process.argv.length <= 2){
  3. redis = require('redis').createClient();
  4. }else{
  5. redis = require('redis').createClient(6379,process.argv[2]);
  6. }
  7. var io = require('socket.io').listen(5678);
  8. var clients = {}
  9. redis.subscribe('console');
  10. redis.on('message', function(channel, data){
  11. if (channel=="console"){
  12. args = JSON.parse(data);
  13. for(var s in clients){
  14. clients[s].emit('event_' + args.id, args.message);
  15. }
  16. }
  17. });
  18. io.on('connection', function(socket){
  19. var address = socket.request.connection.remoteAddress + ":" + socket.request.connection.remotePort
  20. console.log(new Date() + ' client connected ['+ socket.id + "] " + address);
  21. clients[socket.id] = socket;
  22. socket.on('disconnect', function(){
  23. console.log("discopnnect " + this.id + "-----" + this.request.connection.remoteAddress + ":" + this.request.connection.remotePort);
  24. delete clients[socket.id];
  25. });
  26. socket.on('event', function(message){
  27. });
  28. });

package.json

  1. {
  2. "name" : "real-time",
  3. "description" : "providing real-time message push for ",
  4. "version" : "0.0.1",
  5. "dependencies" : {
  6. "socket.io" : "1.2.1",
  7. "redis": "0.7.3",
  8. "socket.io-client": "1.2.1"
  9. }
  10. }

前端部分 接收消息并显示

使用了 socket.io-1.0.6

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

nodejs+socketio+redis实现前端消息实时推送的更多相关文章

  1. 基于HTTP协议之WEB消息实时推送技术原理及实现

    很早就想写一些关于网页消息实时推送技术方面的文章,但是由于最近实在忙,没有时间去写文章.本文主要讲解基于 HTTP1.1 协议的 WEB 推送的技术原理及实现.本人曾经在工作的时候也有做过一些用到网页 ...

  2. dwr3+spring实现消息实时推送

    最近项目要实现一个消息推送的功能,主要就是发送站内信或者系统主动推送消息给当前在线的用户.每次的消息内容保存数据库,方便用户下次登录后也能看到.如果当前用户在线,收到站内信就主动弹出提示.一开始想到的 ...

  3. WebSocket实现站内消息实时推送

    关于WebSocket WebSocket是HTML5 开始提供的一种在单个TCP连接上进行全双工通讯的协议.什么是全双工?就是在同一时间可以发送和接收消息,实现双向通信,比如打电话.WebSocke ...

  4. 基于swoole+Redis的消息实时推送通知

    swoole+Redis将实时数据的推送 一 实现功能 设计师订单如果设计师未抢单,超时(5分钟)设计订单时时给设计师派送, 设计师公众号中收到派单信息 设计发布者收到派单成功信息 环境 centos ...

  5. 利用socket.io实现消息实时推送

    最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里 ...

  6. Asp.net SignalR 实现服务端消息实时推送到所有Web端

    ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.实际上 Asp.net SignalR 2 实现 服务端消息推送到Web端, 更加 ...

  7. php 消息实时推送(反ajax推送)

    入口文件index.html <!DOCTYPE HTML> <html> <head> <title>反ajax推送</title> &l ...

  8. Channels集成到Django消息实时推送

    channel架构图 InterFace Server:负责对协议进行解析,将不同的协议分发到不同的Channel Channel Layer:频道层,可以是一个FIFO队列,通常使用Redis Dj ...

  9. nodejs实现百度实时推送

    想要加快百度收录,肯定免不了链接提交吧,当然链接提交的方式有很多种,今天来说一下百度的实时推送.. 第一次看到这post请求确实有点萌逼,我自己是做前端的对后台接触确实不多,见到的前端发送post请求 ...

随机推荐

  1. [Practical Git] Navigate git command pager output with Unix less commands

    When using a git command that can have a large amount of output (like git log, git diff, or git blam ...

  2. Microsoft Office Visio Professional 2007密钥

    Microsoft Office Visio Professional 2007 产品密钥: W2JJW-4KYDP-2YMKW-FX36H-QYVD8

  3. java.lang.SecurityException: Permission denied (missing INTERNET permission?) 解决

    Android app里试图用HttpUrlConnection获取网络连接,忘记在AndroidManifest清单文件里声明需要用到Internet的权限,运行时报此错误. 解决方法 在Andro ...

  4. ubuntu_scrapy 安装

    1:install pip python-dev    sudo apt-get install python-dev    sudo apt-get install libevent-dev     ...

  5. dedecms安装步骤

    GD支持:PHP设置-PHP扩展-php_gd2 初始化数据体验包:点击下载:或者点击取消     如果是本地安装在数据库的在数据库用户名选择默认的(root),密码为空 主要是如果是基于远程服务器的 ...

  6. 【转】ArrayList的toArray,也就是list.toArray[new String[list.size()]];,即List转为数组

    [转]ArrayList的toArray ArrayList提供了一个将List转为数组的一个非常方便的方法toArray.toArray有两个重载的方法: 1.list.toArray(); 2.l ...

  7. Visual Studio.NET、asp.net和C#间的关系是怎样的?

    asp.net是一种技术,要实现这种技术,就得有底层的实现技术编程语言,这个语言就是C#,(只是绝大多数首选C#),要想用C#实现asp.net技术,就得有编程的工具软件,这个软件我一直用visual ...

  8. 结果集一组数据的第几条ROW_NUMBER基本用法

    因为项目中用到,今天来记录下 ROW_NUMBER的用法. 说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始. 语法:ROW_NUMBER () OVER ([ <partitio ...

  9. php正则贪婪匹配与非贪婪匹配一些例子

    http://www.111cn.net/phper/210/55600.htm 贪婪模式匹配的原则是: 在可匹配也可不匹配的情况下, 优先匹配,直到不能匹配成功的情况下,记录备选状态,并把匹配控制交 ...

  10. 使用grunt运行hintjs任务

    最近了解一下hintjs,学习了下使用grunt运行hintjs的方法,记录下来.     1.  下载安装nodejs     2.  安装grunt命令行      npm install -g ...