ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接?

标签 ruby-on-rails ruby sockets apple-push-notifications

我有一个 ruby​​ 脚本可以打开与 Apple 推送服务器的连接并发送所有待处理的通知。我看不出任何原因,但当 Apple 断开我的脚本时,我遇到了管道损坏错误。我已经编写了我的脚本来适应这种情况,但我宁愿只是找出它发生的原因,这样我就可以在第一时间避免它。

它不会始终根据特定通知断开连接。它不会以特定的字节传输大小断开连接。一切似乎都是零星的。您可以在单个连接上发送的数据传输或有效负载计数是否有某些限制?看到人们的解决方案始终保持一个连接打开,我认为这不是问题所在。我看到连接在 3 次通知后断开,我看到它在 14 次通知后断开。我从未见过它能超过 14 点。

有没有人遇到过这种类型的问题?如何处理?

最佳答案

问题是由向 APNS 服务器发送无效的设备 token 引起的。在这种特定情况下,它是一个开发 token 。当向 APNS 发送无效的设备 token 时,它会断开套接字。这可能会引起一些麻烦,Apple 已将其解决为他们将在未来的更新中解决的问题。

关于ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367885/

相关文章:

c - 在不关闭套接字的情况下停止阻塞接收

java - Android套接字客户端未从服务器接收

ruby-on-rails - 从 ActiveResource 请求中删除 .xml 扩展名

ruby-on-rails - Rails - 缓存表单的无效真实性 token 错误

ruby-on-rails - 使用 find_all_by_completed(false) 时分页排序不起作用

ruby - 可以像添加 java jar 文件一样添加 ruby​​ gem/模块吗?

ruby - 使用 Ruby 解析 JSON 对象时出错

ruby-on-rails - Puma未定义局部变量或方法 `daemonize'错误

jquery - Rails 嵌套资源 - 使用 form_for 部分创建和编辑 2 个级别

javascript - 如何在 Sails.js v0.11 中触发自定义套接字事件?