欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WebSocket

程序员文章站 2022-04-09 08:34:33
1. WebSocket 是什么? WebSocket允许服务器「主动」给浏览器发消息。 2. 为什么要用 WebSocket 实时获取服务端数据这种需求,在使用 WebSocket 之前也是可以做到的,主要方式就是轮询。比如 javascript上一个定时器,每隔几秒钟向服务端发送消息询问最新价格 ......

1. websocket 是什么?

  websocket允许服务器「主动」给浏览器发消息。

2. 为什么要用 websocket

  实时获取服务端数据这种需求,在使用 websocket 之前也是可以做到的,主要方式就是轮询。比如 javascript上一个定时器,每隔几秒钟向服务端发送消息询问最新价格,然后显示在浏览器上。但是这种浏览器主动轮询的方式有几个弊端:

  1.服务器压力大:假设浏览器每隔一秒钟发出请求,如果同时有 100 个用户在访问当前页面,那么每秒钟就至少有 100 个请求要处理,服务器压力是很大的。

  2.严重浪费:倘若服务器数据每隔 60 秒才有新数据,那么其中有59次访问都是浪费的。

  3.实时性差:毕竟是每隔一秒钟才发出请求,假如说为了缓解服务器的压力,做成每隔 10 秒才发出请求,就很有可能错过数据的更新,没有及时拿到数据。

  以上就是浏览器传统的轮询方式的弊端,而使用 websocket 就可以解决这些问题。

  1.服务器压力问题。 websocket 是服务端向浏览器主动推送消息,只有服务器有新数据的时候才需要推送,没有数据就不用推送,所以服务器性能压力小很多浪费问题。

  2.浪费问题。每次有新数据才推送,没有新数据就不推送,不存在浪费问题实时性问题。

  3.实时性问题。 一旦有了新数据马上就推送,浏览器实时获取新数据。

3.怎么开发websocket应用?