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

  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. iOS中 喷枪打字动画的实现

    实现原理比较简单,这里不做过多介绍. #import "ViewController.h" @interface ViewController () @property (weak ...

  2. 不窃取用户隐私的搜索引擎: DuckDuckGo

    不窃取用户隐私的搜索引擎: DuckDuckGo https://duckduckgo.com/ 最近goggle不给力, baidu搜出来的很多都是垃圾, bing用久了很烦. 于是用上了DuckD ...

  3. ffmbc——为广播电视以及专业用途量身定制的FFmpeg

    无意中发现了个为广播电视以及专业用途量身定制的FFmpeg.也是开源的,记录之. ffmbc 全称是 FFMedia Broadcast,是个改版的FFmpeg,有如下功能: 创建可以导入Final ...

  4. ad network

    全称:Advertising network.即"在线广告联盟".一种介于想出售广告空间的网站与想在网站上刊登广告的广告主之间的平台.比较知名的公司有Google的AdSense. ...

  5. 【Android 系统开发】Android JNI 之 JNIEnv 解析

    . jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/android-ndk-r9d/platforms/android ...

  6. OpenCV特征点检测算法对比

    识别算法概述: SIFT/SURF基于灰度图, 一.首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点, ...

  7. ceres-solver库使用示例

    上一篇博客大致说明了下ceres-solver库的编译,然后形成了一个二次开发的库,下面就是用这个二次开发库来写一个简单(其实不太简单)的DEMO来演示ceres-solver库的强大.我们以求解一个 ...

  8. 【Qt编程】Qt学习之Window and Dialog Widgets

    Qt Creator 提供的默认基类只要QMainWindow.QWidget和QDialog三种.其中,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,这两个 ...

  9. STL算法设计理念 - 预定义函数对象

    预定义函数对象基本概念:标准模板库STL提前定义了很多预定义函数对象 1)使用预定义函数对象: #include <iostream> #include <cstdio> #i ...

  10. AP INVOICES IMPORT API(NOT request)

    PROCEDURE process_cux_to_ap(x_return_status OUT NOCOPY VARCHAR2, x_msg_count OUT NOCOPY NUMBER, x_ms ...