WebSocket JS

微生恩
2023-12-01

参考阮一峰博客: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);
  }
});

使用如下命令启动服务端:

$ websocketd --port=8080 node ./server.js
 类似资料:

相关阅读

相关文章

相关问答