了解消息推送
1.
我们常几的消息推送有哪些呢?微信两个好友的聊天;今日头条的推送;绑定某个账号的时候接收的验证码等等。所以消息推送是无处不在。那我们是不是要了解一下它是如何办到的呢。
2.
所谓的推送,就是服务器——>客户端。客户端被动去接收消息。
上面两种情况都是服务器将消息推送到客户端的。但它分别代表了两种不同的形式:点对点和点对多(发布/订阅)。
而这种则是客户端给另一个客户端发送消息,但它还是要经过服务器来推送。如果个人给个人发信息,那就算点对点,个人给群里发信息,那算点对多。
3.
消息推送肯定得网络连接。两个服务之间通信最底层的就是Socket了,再往上还有HTTP。
如何实现推送呢?从客户端出主意:
轮询——时不是连一下服务器,问他有木有信息要给我啊。主动权在客户端。
短轮询——请求过来就响应,不管有没有回复。
长轮询——请求来先把它挂起,有消息便返回,没消息那只能等到超时。
持久连接——基于Socket,两边谁想发消息都行,两边说的都算。
4.
相关词:MQTT 协议、心跳机制