gpt4 book ai didi

push-notification - 推送通知(如 GCM)为何以及如何高效?

转载 作者:行者123 更新时间:2023-12-02 10:46:29 24 4
gpt4 key购买 nike

想要了解 Google Cloud Messaging(以前称为 Google Cloud to Device Messaging)等推送通知对于云 <--> 设备通信而言更加电池友好的根本原因吗?

在我看来,替代技术涉及“轮询”(通过 TCP/IP),同时使用 keep-alives 将连接保持在 CONNECTED 状态。或者有更好的吗?

我对 GCM 的有限理解是,它也使用 TCP/IP 和 keepalive,但客户端从不轮询服务器的状态。相反,服务器会通知客户端有关传入消息的信息,并且订阅特定类型消息的应用程序会异步收到该消息的通知。此外,公共(public) GCM 连接在多个应用程序之间共享,从而允许设备电子设备在“协调”时间 sleep /休眠,而无需多个应用程序使电子设备保持比其需要的更多“开启”(电事件)。这是正确的理解吗?还是还有更多内容?

最后,这与带有 keepalives 的 TCP/IP 上的 MQTT 相比到底如何? MQTT 的电池效率(显然)低于 GCM 的原因是什么?

最佳答案

其高效的主要原因之一是其可扩展性良好。 Android 设备保持对 GCM 服务器开放的单个连接,以监听设备上所有应用程序的通知,然后将消息路由到它们所针对的适当应用程序。这比为每个想要某种推送通知的应用程序保持网络连接打开更具可扩展性和效率。

连接本身可能是一个处于打开状态的 TCP 连接,即使手机处于空闲状态也是如此。当接收到数据时它可以唤醒设备。我想如果有必要的话,也会有某种心跳 ping 来重新建立连接。

套接字的东西可能是你可以自己做的事情,但是就像我之前所说的,效率的主要原因是所有应用程序的单一连接。非常具有可扩展性。

关于push-notification - 推送通知(如 GCM)为何以及如何高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com