gpt4 book ai didi

push-notification - 应用程序客户端如何处理传入的即时消息和通知?

转载 作者:行者123 更新时间:2023-12-05 04:02:39 26 4
gpt4 key购买 nike

我对处理来自 Telegram 和 WhatsApp 等即时消息应用程序的入站消息和通知背后的过程很感兴趣。我熟悉推送协议(protocol),但我很好奇即时通讯应用程序如何实现接收部分。

首先,来自 WhatsApp 和 Telegram 等服务的即时消息是否以推送通知的形式接收,或者是否存在重复/冗余导致 正确推送通知 之间的某种竞争条件到应用程序实例服务 worker ,消息 传递给应用程序实例前台/主进程?或者,即时消息是否始终且仅作为推送通知发送,至少对于来自 Whatsapp 等应用的端到端加密消息?

其次,在上述重复/冗余假设下,服务 worker 处理的通知是传递到应用程序实例,然后在目标聊天中显示它,还是通知 em>丢弃 以支持应用程序实例从 Telegram/Whatsapp 服务器获取原始消息? (我想到了这样一种情况,需要这样做才能确保向发件人提供可靠的消息已收到确认信息。)

最佳答案

实际上这是一个棘手的问题,因为像 Telegram 和 WhatsApp 这样的应用程序可能有一些多案例处理逻辑,非常复杂的逻辑。

但根据我的想象和在我的一些聊天应用程序中实际使用的内容如下:

  • 一些实时协议(protocol)用于消息传递。 Telegram 使用自己的专有协议(protocol),WhatsApp 使用 XMPP。
  • 当双方(发件人和收件人)在线时,将传送实时 XMPP 消息。主要且通常情况下,应用程序与聊天服务器具有持久的 TCP/TLS/WSS 连接,主要是在用户使用它时。
  • 当收件人不在线(未连接到聊天服务器)时,例如不使用应用程序(应用程序处于后台/暂停模式)然后将发送推送通知。这只是为了通知用户有一条新消息。然后用户(收件人)打开应用程序并接收真实消息(通过实时 XMPP 连接)或通过 REST/HTTP API 与服务器同步。

所以没有任何重复,因为推送只是为了在用户不在应用程序中时通知用户有一条新消息。

关于push-notification - 应用程序客户端如何处理传入的即时消息和通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241357/

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