gpt4 book ai didi

php - APNS + PHP "stream_socket_client(): Failed to enable crypto"

转载 作者:IT王子 更新时间:2023-10-29 00:12:31 25 4
gpt4 key购买 nike

我在将 APNS 与 PHP 结合使用时遇到问题并收到以下消息:

stream_socket_client(): Failed to enable crypto

问题只是有时会发生,而其他时候它实际上会发送推送。

因为我有一个循环 10 次迭代的测试脚本,我有时会得到这个:

stream_socket_client(): SSL: Connection reset by peer

我正在使用沙箱服务器 tls://gateway.sandbox.push.apple.com:2195

进行测试

这是我尝试过的:

  • 我尝试重新颁发 PEM 及其所有证书。
  • 我尝试使用请求协议(protocol) sslv3://tls://
  • 我玩弄了密码(顺便说一句,推送在没有密码的情况下工作)
  • 我尝试在 stackoverflow 上搜索解决方案,但没有任何效果。
  • 已检查 pem 文件权限 644
  • 已检查 pem 父目录权限 755

似乎我在 Google 和 SO 上找到的所有解决方案都是人们在插入时遇到的问题。

我觉得该服务可能有速率限制?因为我们等待了一段时间(大约 15 分钟)然后再次尝试,并且能够成功推送大约 100 条消息,直到我再次开始收到该消息。

最佳答案

沙盒推送服务是有速率限制的。我自己在测试时也遇到过这种情况,但在使用生产 API 时从未遇到过任何此类限制。

您可能还会触及他们的其他保护措施。

您是在打开连接、发送消息、关闭连接然后循环并重新做一遍吗?

这将使您的通知被删除。 Apple 希望您使用同一个连接发送多个推送通知,而不是每次都发送一个新的。

Best Practices for Managing Connections

You may establish multiple connections to the same gateway or to multiple gateway instances. If you need to send a large number of remote notifications, spread them out over connections to several different gateways. This improves performance compared to using a single connection: it lets you send the remote notifications faster, and it lets APNs deliver them faster.

Keep your connections with APNs open across multiple notifications; don’t repeatedly open and close connections. APNs treats rapid connection and disconnection as a denial-of-service attack. You should leave a connection open unless you know it will be idle for an extended period of time—for example, if you only send notifications to your users once a day it is ok to use a new connection each day.

来自 Apple 文档 @ https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html

关于php - APNS + PHP "stream_socket_client(): Failed to enable crypto",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28995197/

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