php - pure - ¿Cómo implementar facebook como notificación?
yui framework tutorial (5)
Básicamente, se establece una solicitud, como llamar al servicio que solicita a su servidor / db las notificaciones de ese usuario. Puede hacer un ciclo while que reintenta si no hay notificación (tal vez Thread.Sleep
entre las búsquedas). Su solicitud js se agotó, luego puede volver a llamar a la función en tiempo de espera. Esto significa un largo sondeo afaik
Estoy tratando de implementar un sistema de notificaciones en vivo similar a Facebook para notificar a los usuarios cuando alguien los agregue como amigos, como sus publicaciones o respuestas a sus comentarios.
Toda la base de datos y la parte de PHP está hecha, pero no puedo encontrar la manera de implementarla como Facebook.
Cada vez que alguien le gusta / comenta en su publicación en Facebook, aparece el cuadro azul claro en la esquina inferior izquierda de la pantalla. Esto sucede tan pronto como alguien pulsa el botón "Me gusta" o publica un comentario en Facebook. Me gustaría saber qué debo hacer para implementar esto.
Utilizando YUI o cualquier marco de JavaScript, puedo consultar una tabla de base de datos después de n
segundos para verificar las notificaciones. Este método es muy pesado.
Me preguntaba si hay alguna modificación o scripting del lado del servidor que se pueda hacer para que cada vez que haya una nueva entrada de notificación en la tabla de mi base de datos, el servidor se lo diga a ese cliente en particular. De esta forma, se evitarán por completo las llamadas de solicitud innecesarias del cliente al servidor y el sistema puede funcionar de manera eficiente para el sitio web con más de 50,000 usuarios en línea a la vez.
¿Cómo puedo conseguir esto?
Debería considerar las técnicas de COMET , como el marco por siempre ( tutorial ) y el sondeo largo. Eso le permite tener una forma de comunicación de inserción de servidor-> cliente.
La única manera de hacerlo es tener algún tipo de mecanismo (p. Ej., Javascript) para buscar actualizaciones en el servidor repetidamente. No es posible hacer intentos de servidor a los navegadores web.