Come funzionano le notifiche push da un punto di vista della rete?

2

So che le antenne dati (3G, WiFi, ecc.) si spengono per risparmiare batteria, ma le notifiche push sembrano arrivare quasi immediatamente. Il mio iPhone e iPad suoneranno prima che l'e-mail comparirà sul mio desktop. Avevo collegato uno sniffer TCP / IP sul mio iPad Wifi e ho notato che le notifiche push non arrivavano via TCP / IP. Comprendo l'invio e la ricezione di notifiche push dal punto di vista dell'app (registrare il dispositivo, inviare notifiche a Apple, che lo invia al dispositivo), ma vorrei saperne di più su questa ultima tappa del viaggio. Vedo che Apple afferma che la porta 5223 è coinvolta in qualche modo, ma in termini di dettagli.

Ho cercato in tutto il Web e non ho trovato nulla che spieghi il meccanismo di invio delle notifiche push da Apple a un dispositivo iOS. È UDP? Si tratta di una connessione sempre esistente? Perché non uccide la batteria? In sostanza, come può la notifica avvenire quasi immediatamente senza tenere la radio sempre accesa, quindi uccidendo la batteria?

    
posta Jim McKeeth 17.07.2012 - 18:46
fonte

2 risposte

3

Le reti WiFi utilizzano i "beacon" per consentire ai client di accedere alla modalità di risparmio energetico, ma vengono comunque notificati regolarmente se c'è del traffico in attesa di essere inviati a loro.

Prima di accedere alla modalità di risparmio energetico, un dispositivo WiFi controlla la frequenza con cui i segnali luminosi vengono inviati dall'AP (in genere, ogni 100ms, quindi dieci al secondo, ma alcuni AP ti consentono di variare) e quindi si sveglia in tempo per ricevere esso. Questo segnale indica al cliente se c'è del traffico in attesa di essere inviato. Quindi, può ancora spendere la maggior parte del tempo speso, ma a volte svegliarsi per vedere se c'è del lavoro da fare. Se non c'è, torna immediatamente a dormire. E qui sta il potere.

Buona pagina qui: link

    
risposta data 18.07.2012 - 04:02
fonte
1

Sfortunatamente conosco solo la risposta alla seconda parte della tua domanda.

APNS (Apple Push Notification Service) utilizza XMPP (eXtensible Messaging and Presence Protocol). XMPP è comunemente noto come il protocollo Jabber IM che alimenta anche Google Talk. XMPP utilizza Porta TCP 5223 .

Il dispositivo (client) effettua una connessione ai server APNS sulla porta 5223. Successivamente, il server può inviare un messaggio XMPP al client, che a sua volta notifica l'applicazione di sottoscrizione.

    
risposta data 18.07.2012 - 01:34
fonte

Leggi altre domande sui tag