了解消息推送

1.
    我们常几的消息推送有哪些呢?微信两个好友的聊天;今日头条的推送;绑定某个账号的时候接收的验证码等等。所以消息推送是无处不在。那我们是不是要了解一下它是如何办到的呢。

2.
    所谓的推送,就是服务器——>客户端。客户端被动去接收消息。
了解消息推送

    上面两种情况都是服务器将消息推送到客户端的。但它分别代表了两种不同的形式:点对点和点对多(发布/订阅)。
了解消息推送

了解消息推送




    而这种则是客户端给另一个客户端发送消息,但它还是要经过服务器来推送。如果个人给个人发信息,那就算点对点,个人给群里发信息,那算点对多。
了解消息推送


3.
    消息推送肯定得网络连接。两个服务之间通信最底层的就是Socket了,再往上还有HTTP。
    如何实现推送呢?从客户端出主意:
        轮询——时不是连一下服务器,问他有木有信息要给我啊。主动权在客户端。
            短轮询——请求过来就响应,不管有没有回复。
            长轮询——请求来先把它挂起,有消息便返回,没消息那只能等到超时。
        持久连接——基于Socket,两边谁想发消息都行,两边说的都算。

4.
    相关词:MQTT 协议、心跳机制