gpt4 book ai didi

ios - Apple Push Notifications 可以用作消息队列吗?

转载 作者:行者123 更新时间:2023-12-01 18:39:19 25 4
gpt4 key购买 nike

假设我有一个聊天应用程序并且我正在向另一个用户(用户 B)发送消息,我们的消息正在使用套接字正常接收,但是当用户 B 脱机时,他与套接字服务器断开连接,但是用户 A 继续给他发短信所以对于用户 A 发送的每条消息,我的服务器都会向用户 B 的设备发出推送通知。我的问题是 APNS 是否会充当消息代理并将所有消息排队,直到用户 B 重新登录并接收它们?还是我必须将未收到的消息存储在其他地方

最佳答案

答案很容易在 Apple's documentation 中找到。

Apple Push Notification service includes a Quality of Service (QoS) component that performs a store-and-forward function. If APNs attempts to deliver a notification and the destination device is offline, APNs stores the notification for a limited period of time and delivers it when the device becomes available again. This component stores only the most recent notification per device and per app. If a device is offline, sending a notification request targeting that device causes the previous request to be discarded. If a device remains offline for a long time, all its stored notifications in APNs are discarded.



所以,不,您不能将 APN 用作消息代理。

您可以将推送通知用作唤醒并与服务器端消息队列同步的信号。 RabbitMQ 或 Kafka 可能是候选代理,MQTT 作为一种协议(protocol)看起来很有前途。您需要弄清楚如何以及何时丢弃未成功传递到设备的消息队列的内容。

关于ios - Apple Push Notifications 可以用作消息队列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45871632/

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