【发布时间】:2012-11-30 17:20:20
【问题描述】:
我想用 PHP 发送推送通知。
所以我设置了一些代码来发送它们。它实际上运行良好,但现在我必须进行一些错误处理。
如果我例如将无效令牌发送给苹果,然后发送一些有效令牌,苹果不会将消息推送到有效令牌的设备。
因此,每次发送有效负载后,我都会检查流以获取响应,如果有任何问题,我会告诉我。
$test = fwrite($this->fp, $payload);
if ($test != strlen($payload)) {
echo 'NOT ALL BYTES WRITTEN'; //This is just for debug
}
usleep(1000000); //Wait for Apple to respond.
$error_hex = fread($this->fp, 6);
if ($error_hex !== false && strlen($error_hex) == 6) {
$error = unpack('Ccommand/Cstatus_code/Nidentifier', $error_hex);
print_r($error);
} else {
echo 'NO HEX ERROR';
}
这总是输出“NO HEX ERROR”,因此 Apple 没有响应错误。
为什么这不起作用? 流阻塞已禁用。
stream_set_blocking($this->fp, 0);
【问题讨论】:
-
您找到解决方案了吗?即使用
lalelu替换令牌,我仍然没有收到错误...
标签: php push-notification apple-push-notifications push