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的非状态性,服务端会一直知道你的信息,直到你关闭请求

 

posted @ 2019-05-09 20:59  Py浪涛  阅读(232)  评论(0编辑  收藏  举报
你想听歌吗o((;=゚ 3゚ =))o~♪