推荐一个express的一个中间件express-ws,配置简单,使用方便,
Websocket服务会随着express的运行自动附加运行,适合本地开发使用
1、安装
npm install express-ws -D2、配置
在文件/build/dev-server.js 中,加入相应的服务文件及配置即可
var express = require('express') var app = express() var expressWs = require('express-ws') var util = require('util') expressWs(app) app.ws('/ws', function(ws, request, next) { util.inspect(ws) ws.on('message', function(msg) { console.log('receive_message', msg) ws.send('echo:' + msg) }) }) app.listen(3000)3、运行
执行 npm run dev 时,即可使用
服务端收到的消息会在控制台显示,具体的事件什么的都可以自己定义啦
客户端的示例代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Websocket客户端示例</title> </head> <body> <script> var ws = new WebSocket('ws://localhost:3000/ws'); ws.onmessage = function (e) { console.log('_message', e.data); }; ws.onerror = function (err) { console.log('_error', err); }; ws.onopen = function () { console.log('_connect') }; ws.onclose = function () { console.log('_close'); }; // ws.send('test message data'); // 测试发送消息 </script> </body> </html>