Socket.io文字直播聊天室的简单代码

原创 2016年06月01日 14:15:19
直接上代码吧,被注释掉的主要是调试代码,和技术选型的测试代码
var app = require('express')();
var server = require('http').Server(app);

server.listen(8080);

app.get('/', function (req, res) {
  res.sendFile(__dirname + '/index.html');
});


var io = require('socket.io')(3000);
var beijing = io
  .of('/beijing')
  .on('connection', function (socket) {
    console.log("beijing connected")
    //console.log(socket)
    socket.on('disconnect', function () { console.log("disconnect") });
    //socket.emit('item', { news: 'item' });
  });
//var redis = require('socket.io-redis');
//io.adapter(redis({ host: '192.168.20.16', port: 6379 }));

//var io_emitter = require('socket.io-emitter')({ host: '192.168.20.16', port: 6379 });
/*setInterval(function(){
  //io_emitter.emit('time', new Date);
}, 2000);*/

var redis = require('redis')
subcriber = redis.createClient("redis://:redispassword@192.168.1.1:6379/0")
subcriber.on("message",function(channel,message){
  console.log(message);
  beijing.emit("message",message);
})

subcriber.subscribe("pub_comments")
/*
var SSE = require('sse-nodejs');

var express = require('express');

var app = express();

app.get('/', function (req,res) {
   res.sendFile(__dirname+ '/index.html')
});

app.get('/time', function (req,res) {
    var serverSent = SSE(res);

    serverSent.sendEvent('time', function () {
        return new Date
    },1000);
    serverSent.disconnect(function () {
        console.log("disconnected");
    })

    //serverSent.removeEvent('time',2000);

});

app.listen(3333);
*/

前端核心代码:

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


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

使用Node.js+Socket.IO搭建WebSocket实时应用

Web领域的实时推送技术,也被称作Realtime技术。这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新。它有着广泛的应用场景,比如在线聊天室、在线客服系统、评论系统、WebIM等。 ...

socket.io实现私聊

socket.io官网api地址 http://socket.io/docs/server-api/socket.io官方api以及很多教程都知识介绍了广播消息和在当前会话发送消息,在很多时候我们需...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

使用socket.io做一个简单的WEB聊天室

使用socket.io做一个简单的WEB聊天室(可消息私发)1. 创建一个空的工程目录空的目录命名为chat-web2. 创建package.json使用命令:npm init,会引导你设置packa...

基于Node.js,Express,Socket.io创建简单聊天室

基于Node.js,Express,Socket.io创建简单聊天室 首先看服务器端: //创建express服务器(注意:创建express服务器,需要http模块的支持) var expr...

使用nettyio+socket.io搭建简单的网页聊天室

使用nettyio+socket.io搭建简单的网页聊天室1 目录结构2 maven 依赖配置<project xmlns="http://maven.apache.org/POM/4.0.0" xm...

Socket.IO聊天室~简单实用

Socket.IO实现了实时双向的基于事件的通讯机制。旨在让各种浏览器与移动设备上实现实时app功能,模糊化各种传输机制。我们使用Node.js和Socket.IO来做一个简单的聊天室。小编在这里预祝...

简单聊天室socket.io实现

一、安装首先我们需要安装socket.io,本文将介绍使用node作为服务器实现消息推送。惯例借助npm先安装express与socket.ionpm install express -save np...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)