C/C++教程

Web Socket 理解

本文主要是介绍Web Socket 理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. Web Socket 是 HTML5 的新协议,允许服务器端向客户端发送数据,是一种全双工、双向的通信方式,并且它可以保持长时间通信.

概念理解:

【1】全双工:意思就是服务器向浏览器发送数据的同时,浏览器也可以向服务器传递数据,即同时进行信息的双向传递.

  扩展:(1)半双工:允许通信双方互相传递数据,但是在一方 A 向另一方 B 传递数据时,B 不能向 A 传,类比独木桥.

  (2)单工:即只允许一方 A 向另一方 B 传递数据,B 永远都不能向 A 传递数据,类比单行道.

【2】长时间通信:类比 HTTP 协议是一次请求,一次响应,两次请求之间不存在任何关系,除非加入 cookie 保存信息。而 Web Socket 只需要一次请求,接下来一直处于同一个连接状态进行通讯.

2. Web Socket 通信过程:首先使用 HTTP 协议进行握手初始化连接,服务器响应后,连接使用 Upgrade 头部字段将 HTTP 协议切换到 Web Socket 协议. 之后就可以在一次连接中一直保持通信,而不需要像 HTTP 协议,不断的请求-响应、请求-响应......【这里转一张图:https://www.cnblogs.com/jane-panyiyun/p/13092058.html】

 

 3. Web Socket 特点:

【1】与 HTTP 协议兼容

【2】建立在 TCP 协议上,利用了握手,与 HTTP 协议同属 应用层.

【3】服务器和客户端可以发送少量数据,性能开销小,通信高效

【4】没有同源策略限制

【5】协议标志符是 ws 和 wss,前者为不安全协议,后者为安全协议

【6】可以发送文本,也可以发送二进制数据

这篇关于Web Socket 理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!