参考阮一峰博客:WebSocket 教程
优点:HTTP协议只能由客户端发起,服务器无法主动向客户端推送消息。
WebSocket可以。
特点:
客户端代码:
// client.js
var ws = new WebSocket('wss://echo.websocket.org')
ws.onopen = function (ev) {
console.log('connection open...')
ws.send('hello server!')
}
ws.onmessage = function (e) {
console.log('Received ' + e.data)
}
ws.onclose = function (ev) {
console.log('Connection closed!')
}
服务端代码:
安装 websocketd 服务器,见websocketd
// server.js
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
process.stdout.write('data: ' + chunk);
}
});
使用如下命令启动服务端:
$ websocketd --port=8080 node ./server.js