WebSocket Vs HTTP

因为 HTTP 协议有一个缺陷:通信只能由客户端发起,当客户端与服务器需要频繁通信时,HTTP 协议非常低效,为什么低效?因为 HTTP 接口之下是 TCP/TSL 套接字(Socket)连接。每一次请求,通常都会重新建立一次 TCP/TSL 握手;在请求结束之后,断开这个链接,也许你听说过面试常问的“TCP 协议的三次握手和四次分手”,这个过程,比我们想象的要慢很多。
而 WebSocket 是一种在单个 TCP/TSL 连接上,进行全双工、双向通信的协议。WebSocket 可以让客户端与服务器之间的数据交换变得更加简单高效,服务端也可以主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以直接创建持久性的连接,并进行双向数据传输。对于 web terminal 这种应用,WebSocket 就非常高效。
说到这里,也许你了解到 WebSocket 可以全双工通信,但还不知道要不要用 WebSocket,那么我先问你两个问题:
•你的应用提供多个用户相互交流吗?
•你的应用是展示服务器端经常变动的数据吗?

如果你的答案是肯定的,那么请学习 WebSocket 并尽情的使用吧,如果是否定的,那么可以看下典型的 7 个使用场景,在大脑里留个印象:
1.社交订阅,多人聊天
2.多玩家游戏
3.协同编辑,在线文档
4.流式数据,股票 K 线
5.在线教育
6.基于位置的应用
7.实时监控

猜你喜欢

转载自www.cnblogs.com/kylingx/p/12892744.html
今日推荐