- 导入express-ws
var expressWs = require('express-ws');
- 使用expressWs
app.js
expressWs(app)
bin/www
var expressWs = require('express-ws')(app, server);
- 正常执行其他ws操作
app.ws('/basic', function (ws, req) {
console.log('connect success')
// 使用 ws 的 send 方法向连接另一端的客户端发送数据
ws.send('connect to express server with WebSocket success')
// 使用 on 方法监听事件
// message 事件表示从另一段(服务端)传入的数据
ws.on('message', function (msg) {
console.log(`receive message ${msg}`)
ws.send('default response')
})
// 设置定时发送消息
let timer: any | undefined = setInterval(() => {
ws.send(`interval message ${new Date()}`)
}, 2000)
// close 事件表示客户端断开连接时执行的回调函数
ws.on('close', function (e) {
console.log('close connection')
clearInterval(timer)
timer = undefined
})
})