What technology does the iOS Apple Push Notification Service (APNS) use to maintain a persistent connection with each device to receive such fast push notifications?
-
Apple Push Notification Service (APNS for short) is the centerpiece of the push notifications feature. It is a robust and highly efficient service for propagating information to devices such as iPhone, iPad, and iPod touch devices. Each device establishes an accredited and encrypted IP connection with the service and receives notifications over this persistent connection. If a notification for an application arrives when that application is not running, the device alerts the user that the application has data waiting for it.
-
Answer:
Behind the scenes, it is based on the XMPP (Jabber) protocol using the pub-sub extension although this is not visible to either the developer or the user. Each IOS device is a XMPP client connected to Apple's own implementation of an XMPP server. Each IOS device that has Push notifications enabled connects via a TCP socket to the APNS server on port 5223. This is done via the "apsd" process. To see some of the undercover fun, follow the instructions here: https://devforums.apple.com/message/205537 and check the logfile. For each application on the device that is notification enabled, it subscribes as a topic. As a developer of an application, you do not get to interact at this layer on the device, you only get to register your application as a push-enabled app, so it does not really matter that Apple uses XMPP other than as academic interest. The custom implementation probably has a very limited implementation of XMPP. Others on the net had posted XMPP traces when APNS first came out, you may be able to search APNS, XMPP, Pub-sub to find them. On the publisher side you use an Apple proprietary method to publish alerts. The alerts go to the APNS service which delivers it to the client on port 5223.
Anonymous at Quora Visit the source
Related Q & A:
- What is a good pop3 service to use?Best solution by Yahoo! Answers
- What is a good email service to use?Best solution by Yahoo! Answers
- What technology stack does Facebook use?Best solution by Quora
- What is a historical connection?
- What is a good free email service to use and why?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.