如何用nodejs构建web聊天

JavaScript018

如何用nodejs构建web聊天,第1张

一、 安装node.js

1、 下载node.js源码包

地址 http://nodejs.org/download/  这里有最新版本的node.js对应各个操作系统的二进制文件或者源码包,请自行选择,此处我们选源码编译安装,所以下载源码包。

现在最新版已经是v0.10.3了。

取得tar包的url,敲命令图表 1复制链接地址

wget http://nodejs.org/dist/v0.10.3/node-v0.10.3.tar.gz

在linux中用wget下载

2、 编译安装

•解压

tar –zxvf node-v0.10.3.tar.gz

•编译安装./configure --prefix=/usr/local/node   #prefix参数指定要安装到的路径,如果这个命令执行失败,最常见的原因是,当前python版本太低。此处最初也碰到了这个问题,把python2.4升级到python2.7后解决这个问题。

make #这个命令要花些时间,此时可以去沏杯茶喝make install

此时运行命令 node –v ,若显示如下:

v0.10.3

则表示安装node.js成功。

二、 安装基于node.js的web聊天室demo

下载源码包

在CSDN上,http://download.csdn.net/download/wanglei_134/4593099感谢 @wanglei_134同学

下载完成后,解压

unzip chat.zip

注意看你的系统是否安装有unzip这个命令。

进入目录

cd chat/chat/

运行命令

node chat.js

这时你就能看到如下界面了在浏览器地址栏中,如果你是安装在本地机器上,则输入h ttp://127.0.0.1:3000如果是在内部网服务器上,则输入相应服务器IP,h ttp://hostIp:3000,就能看到聊天室登陆界面啦!

websocket 是一种网络通信协议,一般用来进行实时通信会使用到

websocket 协议和 http 协议类似,http 协议有一个缺陷,只能由客户方端发起请求,服务端根据请求 url 和传过去的参数返回对应结果

websocket 是双向通信的,只要 websocket 连接建立起来,可以由客户端给服务端发送数据,也可以由服务端主动给客户端发送数据

websocket 适用场景:聊天室

websocket 相关简介,可以看 阮老师的文章

nodejs 可以通过 nodejs-websocket 来实现创建一个 websocket 的服务

nodejs-websocket 用法

文档地址: https://www.npmjs.com/package/nodejs-websocket

node 创建的 websocket 服务,主要包含三个概念

可以通过 server.on('event', (res) =>{console.log(res)}) 调用

这次使用 websocket 实现一个基本的聊天室功能,个人感觉还比较简单,只是中间会出现一些由于链接异常断开,导致后端服务抛出异常挂掉的情况

记住前端关闭页面或者刷新页面时,先把连接关掉,每次进入页面时创建连接,然后后端将由于异常关闭导致的出错 try/catch 一下,避免抛出异常,阻塞进程

websocket 对于实现聊天室这样的功能,真的很方便,其实还能扩展到多人合作或者网络游戏等功能