有人可以澄清一下APNs(苹果推送通知)在查询方面的要求吗?
文档中说,它在连接建立后立即开始发送。这是否意味着我不需要对其进行fread()
操作?
这是我当前尝试读取它的代码。由于我不知道哪个响应表示“没有更多记录可读取”,也不想让我的服务器进入无限循环,因此我没有将fread()
放入循环中。
<?php
$apnsCert = 'HOHRO-prod.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'verify_peer', false);
$apns = stream_socket_client('ssl://feedback.push.apple.com:2196', $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
echo 'error=' . $error;
echo 'errorString=' . $errorString;
$result = fread($apns, 38);
echo 'result=' . $result;
fclose($apns);
?>
目前我得到的只是一个空回复。没有错误,所以已经连接上了。
我不知道空回复是否意味着没有数据,或者我的fread()
方法不正确。
谢谢