使用Node.js 和ws 模块构建WebSocket服务器

Node.js 中的ws 模块是最新的一个易用的、速度超快的web socket 实现,能够用来快速构建web socket 应用。其中还包含了wscat 命令行工具,能够用来模拟客户端或者服务器端。 html

在本实例中,咱们将研究可以找到的最快的WebSocket 服务器。Node.js 中ws 模块不只执行超快,并且使用也很简单。它实施方便,是本实例介绍Websocket 的理想选择。 html5

ws 模块很新,符合当前HyBi 协议草案,能够发送和接收数组类型数据(ArrayBuffer、Float32Array 或其余)和二进制数据。虽然很简单,但它可不仅是个“玩具”。 node

若是你想深刻了解WebSocket HyBi 协议的细节,下面的网站是不错的资源: git

http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17 github

http://updates.html5rocks.com/2011/08/What-s-different-in-thenew-WebSocket-protocol web

ws 还包含了一个不错的命令行客户端wscat,它提供了一种工具,使你能够不使用浏览器发送和接收请求。 npm

若是你不习惯这个命令行工具,本章节也会帮助你理解一些基础。若是你之前回避使用命令行工具,由于并没看到其中的价值,此案例也许会改变你以前的想法。命令行工具很是有用,可以方便你调试和查看发送和接收的网络请求。 数组

安装Node.js 浏览器

在网络上有不少关于如何安装和运行Node.js 的文档,因此在此就再也不重复。能够参考GitHub(https://github.com/joyent/node/wiki/Installation)安装文档。 服务器

也能够经过点击nodejs.org(http://nodejs.org/)页面中间的安装按钮开始安装。使用wscat 客户端调用Kaazing 回声服务器

安装而且设置好Node.js 以后,能够经过一个Node Package Manager(NPM)命令安装ws 模块:
 

 
  1. $ npm install -g ws 

由于其中包含了socket 库和一个命令行工具,因此咱们经过-g 参数在全局安装。这样就能够在不一样的应用中使用这个库了(如图9-5 所示)。

如今,能够看到NPM 下载并安装ws 模块及全部的依赖。

到此为止,咱们就能够用wscat 向Kaazing 远程回声服务器(http://echo.websocket.org)发送请求(如图9-6 所示):
 

 
  1. $ wscat -c ws://echo.websocket.org 

这样就完成了,命令行工具能够执行了。能够模拟浏览器发送消息给远程的websocket 服务器。

相关文章
相关标签/搜索