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' });
  });


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

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

文字直播其实没有那么难。
  • dipolar
  • dipolar
  • 2016年06月01日 14:15
  • 1228

在线文字聊天室技术

最近在公司内部架设了一个在线文字聊天室,自己之前对行业中比较流行的聊天室技术也做了一些研究。以下是部分调研结果,并对其中几种主要的技术做一个简单的分析。在线文字聊天室技术目前主要有poll(轮询)、l...
  • joliny
  • joliny
  • 2008年05月30日 15:44
  • 3218

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

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

Node.js+socket.io在线聊天室

Node.js+socket.io实现在线聊天室,照着这个教程做的,稍加改动即可实现。        Node.js:0.10.31        Express:3.* 创建工程chat: ...
  • dongsoso
  • dongsoso
  • 2014年09月01日 16:57
  • 1386

语音聊天室资料(一)

互联网的普及给现代人带来了极大的方便,人们除了可以在网上看新闻、发电邮、购物、查资料等等,最重要的是可通过互联网与家人、亲戚、朋友或陌生人在线交流。现在比较流行的交流方式大概有ICQ式、文字聊天室、网...
  • juanzi11
  • juanzi11
  • 2007年05月21日 08:38
  • 1049

大牛请进,Android音视频聊天各种实现方式问题

最近项目需要,要完成一款局域网通信软件,主要实现Android端的文字、语音、视频聊天功能,并且实现服务器,服务器端能实现客户端上下线监控以及资源推送等简单功能,但是服务器端现在还没人做,想找找有没有...
  • meixishuang7498
  • meixishuang7498
  • 2017年01月02日 12:54
  • 187

nodejs socket.io 聊天室

阅读目录 需求分析Node.jsSocket.IO安装Node.js搭建WebSocket服务端服务端代码实现客户端代码实现 Web领域的实时推送技术,也被称作Realtime技术。这种技术要...
  • xy2204
  • xy2204
  • 2015年11月30日 16:49
  • 1481

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

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

Android即时通讯实现原理

即时通讯实现原理即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。前者是以数据流的...
  • qq_15807167
  • qq_15807167
  • 2016年07月19日 20:58
  • 9427

iOS 仿斗鱼聊天:基于CoreText的面向对象图文排版工具AWRichText

AWRichText 基于CoreText,面向对象,极简,易用,高效,支持精确点击,UIView混排,GIF动图,并不仅仅局限于图文混排的富文本排版神器。 代...
  • u010960265
  • u010960265
  • 2018年01月21日 10:39
  • 71
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Socket.io文字直播聊天室的简单代码
举报原因:
原因补充:

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