WebSocket
程序员文章站
2022-07-11 10:34:21
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应用?
下一篇: 入门级 JAVA反射机制