我有一个 ruby 脚本可以打开与 Apple 推送服务器的连接并发送所有待处理的通知。我看不出任何原因,但当 Apple 断开我的脚本时,我遇到了管道损坏错误。我已经编写了我的脚本来适应这种情况,但我宁愿只是找出它发生的原因,这样我就可以在第一时间避免它。
它不会始终根据特定通知断开连接。它不会以特定的字节传输大小断开连接。一切似乎都是零星的。您可以在单个连接上发送的数据传输或有效负载计数是否有某些限制?看到人们的解决方案始终保持一个连接打开,我认为这不是问题所在。我看到连接在 3 次通知后断开,我看到它在 14 次通知后断开。我从未见过它能超过 14 点。
有没有人遇到过这种类型的问题?如何处理?
最佳答案
问题是由向 APNS 服务器发送无效的设备 token 引起的。在这种特定情况下,它是一个开发 token 。当向 APNS 发送无效的设备 token 时,它会断开套接字。这可能会引起一些麻烦,Apple 已将其解决为他们将在未来的更新中解决的问题。
关于ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367885/