Pregunta

Soy nuevo en Node JS y Socket IO, pero he escuchado muchas cosas buenas sobre ellos, así que quería echarles un vistazo para su uso como un sistema de notificación en tiempo real.

En mi escenario, un usuario abrirá un socket para escuchar las notificaciones que se publican al usuario: cada usuario abrirá una conexión a sus propias notificaciones, no un canal "público".

var jug = new Juggernaut;
var channel = "/user/" + userId + "/notifications";
jug.subscribe(channel, function(data){
    console.log("Got data: " + data);
});

Por lo tanto, en casi todos los casos será 1 usuario suscribirse a 1 canal.

Tengo 2 inquietudes:

  1. Todos los ejemplos de Juggernaut que he visto involucran múltiples clientes que se suscriben a 1 canal; esto me hace pensar que no está diseñado para ser utilizado para las comunicaciones 1-1.
  2. ¿Hay alguna manera de agregar autenticación para que solo los usuarios especificados reciban el mensaje (es decir, el usuario actualmente iniciado en el usuario es el único que puede suscribirse a su canal de notificación)? Si hubiera una manera de pasar datos adicionales sobre suscribir, probablemente sería suficiente (hash la identificación de usuario y usarlo como token tal vez?).

¿Alguien tiene alguna experiencia con Juggernaut que podría haber encontrado este escenario antes?

¿Fue útil?

Solución

Todos los ejemplos de Juggernaut que he visto involucran múltiples clientes que se suscriben a 1 canal

¿Cuál es la diferencia entre muchos suscriptores y un suscriptor para el editor?

¿Hay alguna forma de agregar autenticación para que solo los usuarios especificados reciban el mensaje?

Por supuesto. Requiere que el canal tenga autenticación y, dado que será por IderId, entonces ya sabe las cosas que necesita para asegurarlo.

En cuanto a cómo hacer que Juggernaut haga autenticación, parece que puede publicar encabezados de host para manejarlo por usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top