Push-уведомление iPhone - ошибка ответа - PullRequest
1 голос
/ 27 октября 2010

У меня проблема при проверке ошибки ответа после отправки Push-уведомления.Это мои настройки:

С моего сервера PHP я отправляю Push-уведомления.Эти уведомления отправляются в расширенном формате, поэтому я могу получить ответ об ошибке с сервера Apple.Например: Ошибка № 7 «Неверный размер полезной нагрузки».

Способ проверки ошибок заключается в чтении ответа сокета:

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

Это прекрасно работает при наличии реальной ошибки.Моя проблема в том, что, когда нет ошибки, вызов «fread» ничего не возвращает и продолжает загружаться вечно.

Может кто-нибудь помочь мне с этим?Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 05 мая 2011

Вам нужно установить stream_set_blocking($this->_apnsSocket, 0); в 0, что является неблокирующим режимом, потому что в случае успеха Apple ничего не отправляет, но файл ожидает данные в режиме блокировки.

...