web_socket实现原理

Posted changtao

tags:

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

1.websocket和http的区别:

相对于http这种非持久化的协议来说,websocket协议是持久化的协议
http是一个客户端一个求情,服务端一个响应,这是http的生命周期.
而后http协议经过改进,http1.1一个请求可以接收多个响应,但是服务端不能主动发起.
而websocket 是基于http协议来完成握手,服务端可以主动打起请求.

2.轮询原理;

long poll 和 ajax 

long poll: 一直保持连接,直到有消息后返回,之后客服端再次发起连接

ajax: 客户端没隔一段时间就发起一个请求,询问有没有消息,一直发起请求询问

3.websocket 优势:

以上的两种轮询机制太浪费资源,
这时websocket协议出现,可以和服务端建立连接,并且告诉服务端是websocket连接,
服务端当收到消息时会主动发给客户端.
Websocket只需要一次HTTP握手,所以说整个通讯过程是建立在一次连接/状态中,
也就避免了HTTP的非状态性,服务端会一直知道你的信息,直到你关闭请求

 

以上是关于web_socket实现原理的主要内容,如果未能解决你的问题,请参考以下文章

基于flask 写的web_socket 单聊和群聊

Vue数据绑定原理及简单实现

Android主流视频播放及缓存实现原理调研

快速排序-递归实现

编译原理 实验一 java语言实现对C语言词法分析

编译原理 实验一 java语言实现对C语言词法分析