client和server通信方法

2023/05/25 C++ 共 548 字,约 2 分钟
闷骚的程序员

client和server通信方法

数据交互模式

  1. Push模式:推模式指的是客户端与服务端建立好网络长连接,服务方有相关数据,直接通过长连接通道推送到客户端。

    • 优点:及时,一旦有数据变更,客户端立马能感知到;且客户端无需关心数据的处理逻辑。

    • 缺点:可能导致数据积压在客户端,来不及处理。

  2. Pull模式:客户端主动向服务端发出请求,拉取相关数据。

    • 优点:此过程由客户端发起请求,故不存在推模式中数据积压的问题

    • 缺点:不够及时,对客户端来说需要考虑数据拉取相关逻辑,何时去拉,拉的频率怎么控制等等。

1.polling轮询

客户端和服务器会已知进行连接,每隔一段时间就询问一次。

Polling是指不管服务端数据有无更新,客户端每隔定长时间请求拉取一次数据,可能有更新数据返回,也可能什么都没有。

2.long-polling长轮询

是对轮循的改良版,客户端发送请求给服务器之后,需要满足一些条件才返回新的数据,反之若没有新数据就一直等待。

Polling终止

  • 若服务端返回相关数据,此时客户端收到数据后,关闭请求连接,结束此次Polling过程。

  • 若客户端等待设定的超时时间后,服务端依然没有返回数据,此时客户端需要主动终止此次Polling请求

  • 若客户端收到网络故障或异常,此时客户端自然也是需要主动终止此次Polling请求。

文档信息

Search

    Table of Contents