websocket
ws 对象提供了建立、管理 WebSocket 服务器的握手连接的 API,它也有在连接中传送、接收数据的能力。
下载
# bower 下载
bower install websocket
# npm 下载
npm install websocketjs
测试
进入 websocket
根目录 在命令行中运行 grunt
会输出下面内容,127.0.0.1:8080
是打开 index.html
页面, ws://127.0.0.1:3001
同时自动压缩 websocket.js
--WebSocket-------------
WebSocket address: ws://127.0.0.1:3001
WebSocket has started.
--Server----------------
Server address: http://127.0.0.1:8080
Server running... press ctrl-c to stop.
Server has started.
------------------------
接口调用
将原生websocket调用 socket = new WebSocket(url,protocol)
更换成
socket = new ws(url,protocol)
var socketurl='ws://127.0.0.1:3001';//原生websocket使用换成下面 ws 方法socket = url;//换成了ws 方法之后,下面的事件才有作用socket = url;
readyState
readyState
属性使用以下常数描述 WebSocket
的连线状态。
socketreadyState //=>1
常数 | 值 | 描述 |
---|---|---|
CONNECTING | 0 | 连接尚未打开。 |
OPEN | 1 | 连接已打开,可以进行通讯。 |
CLOSING | 2 | 连接正在进行关闭程序。 |
CLOSED | 3 | 连接已关闭/连接不能打开。 |
onopen
连接成功会执行这个事件
onmessage
接收websocket推送过来的消息
onconnecting
这是个监听事件,当连接开始尝试进行,事件监听器被调用。
onclose
websocket关闭会执行这个事件
send
通过websocket向后端发送消息。
close
关闭 WebSocket 连接/连接尝试,若连接已为 CLOSED,此方法沒有作用。
socket;
code 可选
表示状态码,状态代码用以解释连接关闭的原因。弱未指定参数,预设值为1000(表示正常的「事物完结 transaction complete 」关闭),参考 CloseEvent 页面的 状态码列表,有所有的合法状态码值。
reason 可选
解释连接断开的原因人类可读字符串,字符串不可大于 123 个 UTF-8 字符串
完整例子
var socket = 'ws://127.0.0.1:3001' str = "JSLite.io"; socket{ console; // sendMsg("wcj"); }socket{ console; ; ; }socket{ console; ; }socket{ console; ; // socket.close() } { console; socket;}
开发测试
npm start