Module 基础模块

模块 ws

websocket 支持模块

使用方法:

1
var ws = require('ws');

创建一个服务器:

1 2 3 4 5 6 7 8 9
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade((conn, req) => { conn.onmessage = e => console.log(e.data); }) }); svr.run();

使用 WebSocket 客户端:

1 2 3 4
var ws = require('ws'); var conn = new ws.Socket('ws://127.0.0.1/ws'); conn.ommessage = e => console.log(e.data);

对象

Message

创建一个 websocket 消息对象,参见 WebSocketMessage

1
WebSocketMessage ws.Message;

Socket

WebSocket 对象,参见 WebSocket

1
WebSocket ws.Socket;

静态函数

upgrade

创建一个 websocket 协议处理器,从 http 接收 upgrade 请求并握手,生成 WebSocket 对象

1
static Handler ws.upgrade(Function accept);

调用参数:

  • accept: Function, 连接成功处理函数

返回结果:

accept 函数调用时,将传递两个参数,第一个参数为接收到的 WebSocket 对象,第二个参数为握手时的 HttpRequest 对象。

常量

CONTINUE

指定 websocket 消息类型 0,代表一个继续帧

1
const ws.CONTINUE = 0;

TEXT

指定 websocket 消息类型 1,代表一个文本帧

1
const ws.TEXT = 1;

BINARY

指定 websocket 消息类型 2,代表一个二进制帧

1
const ws.BINARY = 2;

CLOSE

指定 websocket 消息类型 8,连接关闭

1
const ws.CLOSE = 8;

PING

指定 websocket 消息类型 9,代表一个 ping 帧

1
const ws.PING = 9;

PONG

指定 websocket 消息类型 10,代表一个 pong 帧

1
const ws.PONG = 10;

CONNECTING

指定 WebSocket 状态,表示正在连接中

1
const ws.CONNECTING = 0;

OPEN

指定 WebSocket 状态,表示打开状态

1
const ws.OPEN = 1;

CLOSING

指定 WebSocket 状态,表示已发送 CLOSE 消息,等待关闭中

1
const ws.CLOSING = 2;

CLOSED

指定 WebSocket 状态,表示已经关闭

1
const ws.CLOSED = 3;