Node 中实现 WebSocket 可以使用 ws 模块轻松实现。

安装

1
$ yarn add ws

实现

我们采用 clientserver 分开实现发送和回复的简单流程

Server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 导入WebSocket模块:
const WebSocket = require('ws');

// 引用Server类:
const WebSocketServer = WebSocket.Server;

// 实例化:
const wss = new WebSocketServer({
port: 4200
});

wss.on('connection', function connection(ws) {
console.log("server connection");
ws.on('message', function incoming(message) {
console.log('received: %s', message);
ws.send(`hello ${message}`)
});

});

Client

1
2
3
4
5
6
7
8
9
10
11
const WebSocket = require('ws');

const ws = new WebSocket('ws://localhost:4200/test');

ws.on('open', function open() {
ws.send('wxnacy');
});

ws.on('message', function incoming(data) {
console.log(data);
});

启动服务

1
$ node server.js

启动客户端

1
$ node client.js

随后会看到服务端打印如下日志

1
2
server connection
received: wxnacy

客户端打印如下日志

1
hello wxnacy

更多参数配置见文档

03-16 20:50