我正在使用尽可能多的各种网站,写下我的php代码,并且与Apple Push Notification Feffback Service的连接失败后,一切都失败了。
简而言之:
$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: $errstrn";
return;
}
上面的代码时间今晚100%的所有连接请求。但!如果地址从feffback.sandbox.push.apple.com更改为gateway.sandbox.push.apple.com,并且端口从2196更改为2195,则所有内容均可100%工作,所有推送通知均已发送。我从我的一台设备中删除了该应用程序,并继续发送推送通知,因此我一直期望从反馈中获得真正的结果,但没有。
因此,网关是否有效,但反馈没有,似乎唯一的区别是端口和地址。可能是标志,但我正在使用其他人声称有效的代码。
让我认为APNS的反馈服务是为了维护。
现在3周后,一个想法:可能是防火墙?
果然,是。
现在,我可以在没有超时的情况下阅读APNS反馈。:D