本文主要是介绍IM即时通信的一些基本概念梳理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、WebSocket和HTTP的区别
相同点:
WebSocket 和 HTTP 都是基于TCP的应用层协议,都是可靠性传输协议。
不同点:
1、HTTP请求是单向的,需要等到客户端发起请求,服务端才能响应;
WebSocket是全双工协议,客户端通过HTTP/1.1协议进行握手,连接就建立了,通信双方都可以在任何时刻向另一方向发送数据,指导关闭请求
2、HTTP请求需要再每次请求都携带很多状态信息
WebSocket需要先创建连接,所以使得其是一种有状态的协议,之后通信时可以省略部分状态信息
3、WebSocket定义了二进制帧,相对HTTP可以更轻松地处理二进制内容
二、客户端和服务端通讯的成长阶段
1、轮询(Polling)阶段
客户端发送请求Request,服务器不管有没有新消息,立即返回Response,然后关闭链接,over
2、长轮询 (Long polling) 阶段
客户端发送请求Request,服务器没有消息就一直不返回Response,等到有新消息或者超时后再返回给客户端,然后请求结束
3、WebSocket阶段
(1)客户端通过HTTP/1.1协议的101状态码发送请求,客户端进行回应,即第一次握手完成
(2)双方建立了信任关系,客户端和服务端可以互相发送消息
(3)客户端发送结束通讯的请求,服务端回应,ove
这篇关于IM即时通信的一些基本概念梳理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!