1

在发送推送通知后检查响应错误时遇到问题。这是我的设置:

从我的 PHP 服务器,我发送推送通知。这些通知以增强格式发送,因此我可以从 Apple 服务器获得错误响应。例如:错误 #7“无效负载大小”。

我检查错误的方法是读取套接字响应:

const ERROR_RESPONSE_SIZE = 6;
$errorResponse = @fread($this->_apnsSocket, self::ERROR_RESPONSE_SIZE);

当存在实际错误时,这可以正常工作。我的问题是:当没有错误时,“fread”调用不会返回任何内容并永远加载。

谁能帮我这个?谢谢你的帮助!

4

1 回答 1

2

您需要设置stream_set_blocking($this->_apnsSocket, 0);为 0,这是非阻塞模式,因为成功后 Apple 不会发回任何内容,但 fread 正在阻塞模式下等待数据。

于 2011-05-05T19:36:05.690 回答