计网|WebSocket JS

参考阮一峰博客:WebSocket 教程
优点:HTTP协议只能由客户端发起,服务器无法主动向客户端推送消息。
WebSocket可以。
特点:

  1. 同HTTP一样,WebSocket建立在TCP连接之上
  2. 与HTTP有良好的兼容性,默认端口为80和443,握手阶段采用HTTP协议,能够通过各种HTTP代理服务器
  3. 数据格式轻量,通信高效
  4. 可以发送文本与二进制数据
  5. 没有同源限制,不过可以手动设置跨域
  6. 协议标识符是ws,加密的是wss,服务器网址就是url
Example: 客户端代码:
// 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); } });

【计网|WebSocket JS】使用如下命令启动服务端:
$ websocketd --port=8080 node ./server.js

    推荐阅读