Como quiera implementar esto en CakePHP (así que supongo que es una aplicación basada en web), el usuario tendrá que tener una página 'activa' abierta para recibir los mensajes push.
Vale la pena mirar las dos primeras respuestas a esto, pero también solo piense en cómo otros sitios pueden lograr esto. Sitios como Facebook, BBC, Stackoverflow usan técnicas para mantener las páginas actualizadas.
Sospecho que Facebook solo usa algo de AJAX que se ejecuta en un bucle/temporizador para extraer actualizaciones de forma periódica de forma que parezca un impulso. Si la solicitud de actualización es a menudo suficiente (período de tiempo corto), casi se verá en tiempo real. Si es un período de tiempo largo, se verá como un tirón. La clave está en encontrar el equilibrio adecuado entre la actualización y la agitación del navegador/procesador/red.
La solicitud real no debe dañar el sistema, pero la respuesta en algunas aplicaciones puede ser mucho mayor. En su caso, los datos en cada dirección son pequeños, por lo que podría hacer que el ciclo de solicitud sea bastante corto.
Experimento!
¿Algo así como enviar un correo electrónico? ¿Qué sucede si el navegador no se está ejecutando? – Pointy
Esto suena como una mala idea. Se puede hacer exactamente como lo dijo Distdev, pero hay tantos problemas para implementar esto de manera práctica y útil. – Incognito
¿El usuario debe estar en una página web en particular? ¿Qué tiene esto que ver con CakePHP? – Leo