2
我想用PHP發送推送通知。APNS:如何在發送後獲取錯誤響應?
所以我設置了一些代碼來發送它們。它實際上運行良好,但現在我不得不做一些錯誤處理。
如果我例如向Apple發送無效令牌,然後發送一些有效令牌,Apple不會將消息推送到有效令牌的設備。
因此,如果有任何問題,我會在每次發送響應的有效負載後檢查流。
$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替換標記,我仍然沒有收到錯誤... –