直接上代码吧,被注释掉的主要是调试代码,和技术选型的测试代码

  1. var app = require('express')();
  2. var server = require('http').Server(app);
  3. server.listen(8080);
  4. app.get('/', function (req, res) {
  5. res.sendFile(__dirname + '/index.html');
  6. });
  7. var io = require('socket.io')(3000);
  8. var beijing = io
  9. .of('/beijing')
  10. .on('connection', function (socket) {
  11. console.log("beijing connected")
  12. //console.log(socket)
  13. socket.on('disconnect', function () { console.log("disconnect") });
  14. //socket.emit('item', { news: 'item' });
  15. });
  16. //var redis = require('socket.io-redis');
  17. //io.adapter(redis({ host: '192.168.20.16', port: 6379 }));
  18. //var io_emitter = require('socket.io-emitter')({ host: '192.168.20.16', port: 6379 });
  19. /*setInterval(function(){
  20. //io_emitter.emit('time', new Date);
  21. }, 2000);*/
  22. var redis = require('redis')
  23. subcriber = redis.createClient("redis://:redispassword@192.168.1.1:6379/0")
  24. subcriber.on("message",function(channel,message){
  25. console.log(message);
  26. beijing.emit("message",message);
  27. })
  28. subcriber.subscribe("pub_comments")
  29. /*
  30. var SSE = require('sse-nodejs');
  31. var express = require('express');
  32. var app = express();
  33. app.get('/', function (req,res) {
  34. res.sendFile(__dirname+ '/index.html')
  35. });
  36. app.get('/time', function (req,res) {
  37. var serverSent = SSE(res);
  38. serverSent.sendEvent('time', function () {
  39. return new Date
  40. },1000);
  41. serverSent.disconnect(function () {
  42. console.log("disconnected");
  43. })
  44. //serverSent.removeEvent('time',2000);
  45. });
  46. app.listen(3333);
  47. */

前端核心代码:

  1. var socket = io.connect('http://servername:3000/beijing');
  2. socket.on('message', function (data) {
  3. $scope.messages.push(data)//此处使用了angularjs
  4. $scope.$apply()
  5. console.log(data)
  6. //socket.disconnect()
  7. //socket.emit('my other event', { my: 'data' });
  8. });

Socket.io文字直播聊天室的简单代码的更多相关文章

  1. Express+Socket.IO 实现简易聊天室

    代码地址如下:http://www.demodashi.com/demo/12477.html 闲暇之余研究了一下 Socket.io,搭建了一个简易版的聊天室,如有不对之处还望指正,先上效果图: 首 ...

  2. 利用socket.io构建一个聊天室

    利用socket.io来构建一个聊天室,输入自己的id和消息,所有的访问用户都可以看到,类似于群聊. socket.io 这里只用来做一个简单的聊天室,官网也有例子,很容易就做出来了.其实主要用的东西 ...

  3. 使用socket.io打造公共聊天室

    最近的计算机网络课上老师开始讲socket,tcp相关的知识,当时脑袋里就蹦出一个想法,那就是打造一个聊天室.实现方式也挺多的,常见的可以用C++或者Java进行socket编程来构建这么一个聊天室. ...

  4. AngularJS+Node.js+socket.io 开发在线聊天室

    所有文章搬运自我的个人主页:sheilasun.me 不得不说,上手AngularJS比我想象得难多了,把官网提供的PhoneCat例子看完,又跑到慕课网把大漠穷秋的AngularJS实战系列看了一遍 ...

  5. node+express+socket.io制作一个聊天室功能

    首先是下载包: npm install express npm install socket.io 建立文件: 服务器端代码:server.js var http=require("http ...

  6. Web jsp开发学习——网上直播聊天室的简单开发

    整个界面为chat.jsp: 如果用户没有登录,就不能进行聊天. 为将发言的句子传到页面上,要设置一个<iframe></iframe>虚拟框架,将allmessage.jsp ...

  7. Node+Express+MongoDB + Socket.io搭建实时聊天应用

    Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战 ...

  8. Node+Express+MongoDB + Socket.io搭建实时聊天应用实战教程(二)--node解析与环境搭建

    前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有 ...

  9. Node+Express+MongoDB+Socket.io搭建实时聊天应用实战教程(一)--MongoDB入门

    前言 本文并不是网上流传的多少天学会MongoDB那种全面的教程,而意在总结这几天使用MongoDB的心得,给出一个完整的Node+Express+MongoDB+Socket.io搭建实时聊天应用实 ...

随机推荐

  1. ASP.NET实现网页版小优盘

    今天看到了一篇不错的文章,就拿来一起分享一下吧. 实现的是文件的上传与下载功能. 关于文件上传: 谈及文件上传到网站上,首先我们想到的就是通过什么上传呢?在ASP.NET中,只需要用FileUploa ...

  2. XML解析之SAX解析过程代码详解

    上一篇谢了解析原理和过程,这里应用代码直观认识这个原理: 新建Demo1类: import java.io.File; import javax.xml.parsers.SAXParser; impo ...

  3. 海量数据挖掘MMDS week2: LSH的距离度量方法

    http://blog.csdn.net/pipisorry/article/details/48882167 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  4. Css技术入门笔记01

    在学习html的时候,html中的标签都具备了特定功能,或者含义,以及相应的样式效果.可是在有些时候我们可能仅仅希望使用 html标签把要显示的数据封装起来,而不需要任何的样式效果.这时就需要单独的标 ...

  5. 安卓TV开发(五) 移动智能终端UI之实现主流TV焦点可控UI

      载请标明出处:http://blog.csdn.net/sk719887916,作者:skay    由于其他网站收录,导致你无法查看本系列原创文章请点击此处 安卓TV开发(四)实现主流智能T ...

  6. Python3.4 + Django1.7.7 搭建简单的表单并提交

    后面还有一个问题,是我把txt生成了,但是网页没有返回我还不知道,现在怎么直接返回txt并且展示出来txt 的内容,希望大牛不吝赐教 首先有一个问题 django1.7之前,这样用: HttpResp ...

  7. Leetcode_53_Maximum Subarray

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43989997 Find the contiguous su ...

  8. C++中const的实现机制深入分析

    via:http://www.jb51.net/article/32336.htm C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢?本文将对这两个问题进行一些分析,需 ...

  9. 《java入门第一季》之面向对象面试题(继承中构造方法的关系)

    /* 继承中构造方法的关系 A:子类中所有(子类的有参和无参)的构造方法(默认都会访问父类)中(空参数)的构造方法,默认访问父类空参数构造,不默认访问有参数构造 B:为什么呢? 因为子类会继承父类中的 ...

  10. 页面缓存js问题解决

     1.在jsp中加入头 <META HTTP-EQUIV="Pragma" CONTENT="no-cache">  <META HTTP ...