1

我正在为 IOS 设备实现远程推送通知提供程序。我还在 Apple 开发者网站上阅读了以下最佳实践指南

在多个通知中保持与 APN 的连接处于打开状态;不要反复打开和关闭连接。APNs 将快速连接和断开连接视为拒绝服务攻击。您应该让连接保持打开状态,除非您知道它会长时间闲置——例如,如果您每天只向用户发送一次通知,则可以每天使用一个新连接。

在实现了建立连接的逻辑之后,我决定对其进行测试,并让我的服务器运行一段时间。吃完饭回来,我看到我的服务器已经被苹果推送通知服务断开了。在我的服务器运行期间,它连接到苹果推送通知服务但处于空闲状态。我在另一个问题上读到该服务不可靠并且会间歇性地断开您的连接。我想知道是否有人知道连接必须空闲多长时间才能断开您与服务的连接,以及是否有人可以建议一些处理断开连接的最佳实践。

我主要担心的是,Apple 会将快速连接和断开连接视为 DDOS 攻击。所以我打算尽可能长时间地保持连接打开,并在我断开连接时重新连接到服务。这是处理 APNS 的常见做法吗?

[更新 4/5/2016] 我实现了重新连接逻辑,但现在似乎遇到了一个我不了解该服务的问题。根据 Apple 的说法,他们希望我们在多个通知中保持与 APN 的连接打开。但是,在通过连接发送第一个通知并看到它显示在我的设备上之后,通过连接发送的进一步通知似乎没有通过。我可以每个流只发送一个请求吗?我应该在发送更多请求时逐步打开流吗?

4

0 回答 0