¿Cómo funcionan las notificaciones push desde el punto de vista de una red?

2

Sé que las antenas de datos (3G, WiFi, etc.) se apagan para ahorrar batería, pero las notificaciones push parecen llegar casi de inmediato. Mi iPhone y mi iPad sonarán antes de que aparezca el correo electrónico en mi escritorio. Conecté un sniffer de TCP / IP en mi iPad con WiFi y noté que las notificaciones push no llegaron a través de TCP / IP. Comprendo el envío y la recepción de notificaciones push desde el punto de vista de la aplicación (registrar el dispositivo, enviar una notificación a Apple, quien lo envía al dispositivo), pero me gustaría saber más sobre este último tramo del viaje. Veo que Apple dice que port 5223 está involucrado de alguna manera, pero muy en la forma de detalles.

He buscado en la web algunos y no he encontrado nada que explique el mecanismo de envío de notificaciones push de Apple a un dispositivo iOS. ¿Es UDP? ¿Es una conexión siempre existente? ¿Por qué no mata la batería? Básicamente, ¿cómo puede ocurrir la notificación casi inmediatamente sin mantener la radio siempre encendida, y así matar la batería?

    
pregunta Jim McKeeth 17.07.2012 - 18:46

2 respuestas

3

Las redes WiFi usan "balizas" para permitir que los clientes ingresen al modo de ahorro de energía, pero aún así se les notificará regularmente si hay algún tráfico en espera para ser enviado.

Antes de ingresar al modo de ahorro de energía, un dispositivo WiFi comprueba la frecuencia con la que se envían las balizas desde el AP (normalmente, cada 100 ms, por lo que diez por segundo, pero algunos AP le permiten variar) y luego se despierta a tiempo para recibir eso. Esta baliza le dice al cliente si hay algún tráfico en espera para ser enviado. Por lo tanto, aún puede pasar la mayor parte del tiempo apagado, pero de vez en cuando se despierta para ver si hay algún trabajo real que hacer. Si no hay, vuelve a dormirse inmediatamente. Y ahí está el poder.

Buena página aquí: enlace

    
respondido por el Caesium 18.07.2012 - 04:02
1

Desafortunadamente, solo conozco la respuesta a la segunda parte de tu pregunta.

APNS (Apple Push Notification Service) utiliza XMPP (protocolo de presencia y mensajería extensible). XMPP se conoce comúnmente como el protocolo Jabber IM que también alimenta Google Talk. XMPP utiliza puerto TCP 5223 .

El dispositivo (cliente) establece una conexión con los servidores APNS en el puerto 5223. Posteriormente, el servidor puede enviar un mensaje XMPP al cliente, que a su vez notificará a la aplicación que se suscribe.

    
respondido por el bahamat 18.07.2012 - 01:34

Lea otras preguntas en las etiquetas