webSocket初探

2020-04-19  本文已影响0人  emilyCandy

一、WebSocket介绍与原理

WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信。一开始的握手需要借助HTTP请求完成。

原理

WebSocket同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。

-- 连接过程

二、WebSocket与HTTP的关系

相同点

不同点

三、WebSocket JS Client

1、WebSocket属性

props.png

2、WebSocket事件

WX20200419-173139@2x.png

3、 创建WebSocket 实例

example

4、收发数据

connection.send("hello world!")
ws.onmessage = data => {
    console.log(data.data)
}
ws.onerror = e => { 
  console.log(ws.readyState, 'websocket.readyState onerror')
}
ws.onclose = data => { 
  console.log(ws.readyState,'关闭时状态') 
}

四、WebSocket Node Server

var http = require('http')
var server = http.createServer((request,response) =>{} )
server.listen(3000, () => {
  console.log('server is listening on port 3000')
  })
var websocket = require('websocket').server
var wsServer = new webSocket({httpServer: server})

总结

WebSocket在用于双向传输、推送消息方面能够做到灵活、简便、高效,但在普通的Request-Response过程中并没有太大用武之地,比起普通的HTTP请求来反倒麻烦了许多,甚至更为低效。比如某些场景只需要简单的Request-Response,如果换做WebSocket还需要增加一个请求标识RequestId,增加成本。每项技术都有自身的优缺点,在适合它的地方能发挥出最大长处,而看到它的几个优点就不分场合地全方位推广的话,可能会适得其反。

上一篇 下一篇

猜你喜欢

热点阅读