在编写了我自己的代码之后,我正在使用尽可能多的各种网站的 PHP 代码,但连接到苹果推送通知反馈服务时一切都失败了。
简而言之:
$stream_context = stream_context_create();
stream_context_set_option($stream_context, 'ssl', 'local_cert', $certkeypath);
stream_context_set_option($stream_context, 'ssl', 'passphrase', $pass);
$apns = stream_socket_client('ssl://feedback.sandbox.push.apple.com:2196', $errcode, $errstr, 60, STREAM_CLIENT_CONNECT, $stream_context);
if(!$apns) {
echo "ERROR $errcode: $errstr\n";
return;
}
上面的代码今晚 100% 的连接请求超时。但!如果地址从 feedback.sandbox.push.apple.com 更改为 gateway.sandbox.push.apple.com,并且端口从 2196 更改为 2195,那么一切正常 100%,所有推送通知都已传递。我从我的一台设备上删除了该应用程序并继续向其发送推送通知,因此我一直期待反馈的真实结果,但什么也没有。
那么网关工作但反馈没有的原因是否存在,似乎唯一的区别是端口和地址。可能是标志,但我正在使用其他人声称有效的代码。
让我觉得 APNs 反馈服务因维护而停机。