A partir de la Notificación Push de Apple, el Servicio de documentación:
Cada dispositivo establece una acreditados y cifrado de conexión de IP
con los Apn y recibe notificaciones a través de esta conexión persistente.
Esto significa que se utiliza algún tipo de zócalo-base de conexión persistente. Podría ser su propio protocolo, o WebSocket, etc. El "periódico" acciones que se están preguntando acerca suelen aplicarse en estos protocolos en el nivel más bajo posible mediante el uso de sockets TCP/IP y están siendo constantemente encuestados para los nuevos datos en el zócalo. Cuando los datos de terminar de leer el zócalo, se activa un evento para ir a realizar alguna acción, como por ejemplo, mostrar una notificación en el dispositivo.
Para explicar con más detalle, la forma en que tomas el trabajo es el dispositivo realiza una conexión a un servidor remoto, el servidor remoto empuja datos a tu dispositivo, y se coloca en el búfer del socket, el dispositivo lee el búfer del socket y hace algo con los datos. En el momento en que los datos se envíen a tu dispositivo, el dispositivo proceso. Esto es debido a que el dispositivo está buscando nuevos datos en el búfer del socket todo el tiempo. Intenta leer los datos, y si obtiene los datos, se envía a los procesados y, a continuación, intenta volver a leer los datos; si es que alguna vez no recibe datos, sólo se trata de volver a leer los datos para siempre. Si la conexión con el servidor remoto nunca se desconecta, sólo intenta conectarse de nuevo hasta que lo logre.
La documentación del código vinculados anterior está tomado de Impulsar el ASIO de la biblioteca , que es ampliamente utilizado para sockets en C++. Es la aplicación y uso se puede simplificar de la siguiente manera:
01 start program
02 try to connect to server using socket
03 if not connected to server, goto 02
04 try to read data on socket
05 if data was read, process data
06 goto 03