iPhone de notificación Push - problema de la respuesta de error
-
26-09-2019 - |
Pregunta
Tengo un problema en la comprobación de un error de respuesta después de enviar una notificación de inserción. Esta es mi configuración:
Desde mi servidor PHP, estoy enviando notificaciones Push. Estas notificaciones se envían en el formato mejorado, para que pueda obtener una respuesta de error del servidor de Apple. Por ejemplo:. Error # 7 "tamaño de carga útil no válido"
A mi modo de comprobar si hay errores está leyendo la respuesta del zócalo:
const ERROR_RESPONSE_SIZE = 6;
$errorResponse = @fread($this->_apnsSocket, self::ERROR_RESPONSE_SIZE);
Esto funciona bien cuando hay un error real. Por mi problema es: cuando no hay ningún error, la llamada "fread" no devuelve nada y mantiene la carga siempre
.Puede alguien ayudarme con esto? Gracias por su ayuda!
Solución
Es necesario establecer stream_set_blocking($this->_apnsSocket, 0);
a 0, que es el modo de no bloqueo, porque el éxito de Apple no devuelve nada, pero el fread está esperando los datos en modo de bloqueo.