WebSocket 是什么

首先WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

在传输中有两个方法,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询,

轮询是在每几秒内循环,由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端和浏览器,缺点就是消耗资源。

浏览器通过JS向服务器发出建立WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。

(TCP是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构)

当获取连接后,可以通过send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。

以下是WebSocket 对象的事件,可供参考

事件事件处理程序描述

openSocket.onopen连接建立时触发

messageSocket.onmessage客户端接收服务端数据时触发

errorSocket.onerror通信发生错误时触发

closeSocket.onclose连接关闭时触发

下图是WebSocket 对象的方法

方法描述

Socket.send()使用连接发送数据

Socket.close()关闭连接


什么是长连接、短连接?

短链接

连接->传输数据->关闭连接

HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。

长链接

连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接

长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容