Websocket是什么(下)

Posted 光荣之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Websocket是什么(下)相关的知识,希望对你有一定的参考价值。

吴老的《selenium webdriver 实战宝典》出版了!

相关阅读:

三、Websocket的作用

在讲Websocket之前,我就顺带着讲下long poll和ajax轮询的原理。
首先是ajax轮询,ajax轮询的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。
场景再现:
客户端:啦啦啦,有没有新信息(Request)
服务端:没有(Response)
客户端:啦啦啦,有没有新信息(Request)
服务端:没有。。(Response)
客户端:啦啦啦,有没有新信息(Request)
服务端:你好烦啊,没有啊。。(Response)
客户端:啦啦啦,有没有新消息(Request)
服务端:好啦好啦,有啦给你。(Response)
客户端:啦啦啦,有没有新消息(Request)
服务端:。。。。。没。。。。没。。。没有(Response)----loop

从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性。
何为被动性呢,其实就是,服务端不能主动联系客户端,只能有客户端发起。
简单地说就是,服务器是一个很懒的冰箱(这是个梗)(不会、不能主动发起连接),但是上司有命令,如果有客户来,不管多么累都要好好接待。

说完这个,我们再来说一说上面的缺陷(原谅我废话这么多吧OAQ)
从上面很容易看出来,不管怎么样,上面这两种都是非常消耗资源的。
ajax轮询需要服务器有很快的处理速度和资源。(速度)
long poll需要有很高的并发,也就是说同时接待客户的能力。(场地大小)
所以ajax轮询和long poll都有可能发生这种情况。

<完>

公益传播测试知识、技能与正能量!感谢作者!
分享测试生活,思考测试人生!欢迎投稿!
文章图片来自网络,如有侵权请见谅,请联系我们妥善处理。
735821166@qq.com

光荣之路
软件测试培训


官网:www.gloryroad.cn

Python群:457561756

以上是关于Websocket是什么(下)的主要内容,如果未能解决你的问题,请参考以下文章

Websocket是什么(下)

html5+go+websocket简单实例代码

如何在不与 MainActivity 交互的情况下从通知中打开片段页面?

Unity3d 下websocket的使用

servlet WebSocket(无注释)

Python下tornado架构websocket简介