NodeJS + Socket.io搭建聊天服务器】的更多相关文章

第一步:安装node git clone https://github.com/joyent/node.git cd node git checkout v0.10.33-release ./configure make make install 第二步:安装npm mac下使用命令ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 第三步:安装redis w…
最近在学习nodejs,需要找一些项目练练手.找来找去发现了一个聊天室的教程,足够简单,也能从中学到一些东西.下面记录我练习过程中待一些笔记. nodeJS模块 共用到了2个模块,express和socket.io.socket.io的具体原理我不是很清楚,目前只知道可以和服务器交换数据,而且比ajax要方便很多.具体原理等以后学习到了再回来补充. 准备工作 前期的准备工作包括建立项目文件夹.创建文件.安装nodejs模块.生成配置文件.后期可能将源代码同步到github,并发布到网上. 创建文…
在这之前你应该先安装好 Node.js,安装过程不再讲解 首先在你的电脑上创建一个新目录,姑且命名为 chat,然后在该目录创建两个文件,分别是 app.js 和 index.html. app.js var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(…
Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有一些帮助.相信大多数跟随前面一章教程来到这一章的读者大多分成两类,第一类是知道node,想学习node,但是英文匮乏或者网上教程不给力,希望有一个全面一点的教程入门的:第二类应该是node入门,但是之前使用的不是类似M…
前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有一些帮助.相信大多数跟随前面一章教程来到这一章的读者大多分成两类,第一类是知道node,想学习node,但是英文匮乏或者网上教程不给力,希望有一个全面一点的教程入门的:第二类应该是node入门,但是之前使用的不是类似MongoDB这种非关系型数据库,想学习一下的.从我个人的角度看来,我希望自己前一段…
前言 本文并不是网上流传的多少天学会MongoDB那种全面的教程,而意在总结这几天使用MongoDB的心得,给出一个完整的Node+Express+MongoDB+Socket.io搭建实时聊天应用实战教程.写博客的目的,一来是为了方便自己日后查阅某些语法,二来是本着学习和共享的精神,与大家探讨技术.本系列教程同步到个人的Github:https://github.com/yuanzm/MongoDB-demo MongoDB简介 MongoDB 是目前在IT行业非常流行的一种非关系型数据库(N…
最近要更新网站架构了,决定转入 nodejs + socket.io + redis 方式. 战斗刚开始: 网上的文章太松散,我根据各个网友的分享进行整理 ,让大家可以方便上手. 进入node.js之路,开始整理的资料 为什么需要 ? node.js + socket.io node.js提供了高效的服务端运行环境,但是由于浏览器端对HTML5的支持不一,为了兼容所有浏览器,提供卓越的实时的用户体验,并且为程序员提供客户端与服务端一致的编程体验,于是socket.io诞生.     socket…
一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用的是mongodb , 并使用其相应mongoose对象工具来处理数据的存取. 功能主要涉及:群聊.私聊.设置个人信息.查看聊天记录.查看在线用户等 效果图: 你也可以直接来这里  查看演示 二.聊天室基本设计思路 除去上次的注册登录模块不说,本次主要就是增加了socket.io模块的设计 以及 …
Server: var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs'); app.listen(80); console.log('server listen on port 80'); function handler (req, res) { fs.readFile(__dirname + '/public/index.html',…
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. WebSocket简介 谈到Web实时推送,就不得不说WebSocket.在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询(Polling)和Comet技术,Comet又可细分为两种实现方式,一种是长轮询机制,一种称为流技术,这两种方式实际上是对轮询技术的改进,这些方案…