Saltar al contenido

Caso de uso

Chat en realtime

Una sala de chat es un channel presence. La pertenencia sale del channel, no de una tabla que usted mantiene sincronizada. Los mensajes son events; los indicadores de escritura nunca tocan su servidor.

presence-room-42
  • channels presence
  • events
  • client events
  • webhooks

Cómo funciona

  1. 01AutorizarSu servidor decide si este usuario puede entrar y devuelve su member id.
  2. 02Pintar la pertenenciaLa suscripción devuelve la lista de miembros; los events de entrada y salida la mantienen al día.
  3. 03Enviar mensajesSe publican como events, después de que su servidor los haya guardado y autorizado.
  4. 04Indicadores de escrituraclient events, enviados entre suscriptores: efímeros, sin viaje de ida y vuelta.

Conviene saber

El historial es trabajo de su base de datos, no del channel. Un cliente que entra recibe lo que pase a partir de ese momento: cargue el histórico por HTTP.

En código

room.js
js
const room = pusher.subscribe('presence-room-42')room.bind('pusher:subscription_succeeded', (members) => {  renderMemberList(members)})room.bind('pusher:member_added', (m) => addMember(m))room.bind('pusher:member_removed', (m) => removeMember(m))room.bind('message', (msg) => appendMessage(msg))// Ephemeral, straight between subscribers.input.oninput = () => room.trigger('client-typing', { at: Date.now() })

Escrito con las librerías oficiales de Pusher, sin modificar: no hay ningún paquete de PushCaster que instalar. Documentación completa

Otras cosas que construye la gente

Todos los casos de uso
private-user-1e9

Notificaciones

Un event de servidor, entregado a cada superficie que el usuario tenga abierta.

private-metrics

Paneles en vivo

Envíe las métricas según cambian en vez de ir a buscarlas con polling.

Cree una aplicación y constrúyalo.

Support