No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Emisi贸n de eventos

9/26
Recursos

Aportes 2

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Hoja de emisi贸n

Eventos del servidor

  • socket.emit(/* .. */) 鈫 Emisi贸n b谩sica.

  • socket.broadcast.emit(/* .. */) 鈫 A todos los clientes del espacio de nombres actual, exceptuando al remitente.

  • socket.to('room1').emit(/* .. */) 鈫 A todos los clientes en room1, excepto al remitente.

  • socket.to(['room1', 'room2']).emit(/* .. */) 鈫 A todos los clientes en room1 y/o room2, excepto al remitente.

  • socket.compress(false).emit(/* .. */) 鈫 Sin compresi贸n.

  • socket.volatile.emit(/* .. */) 鈫 鈥嶶n mensaje que podr铆a eliminarse si el transporte de bajo nivel no se puede escribir鈥.

  • socket.emit("question", (answer) => {*...*}); 鈫 Con reconocimiento.

  • Con timeout cuando el receptor no recibi贸 el evento en el tiempo esperado.

    socket.timeout(5000).emit("my-event", (err) => {
      if (err) {
        // the other side did not acknowledge the event in the given delay
      }
    });
    
  • io.in('room1').emit(/* .. */) 鈫 A todos los clientes en room1.

  • io.to(['room1', 'room2']).except('room3').emit(/* .. */) 鈫 A todos los clientes en room1 y/o room2, excepto aquellos en room3.

  • io.of('myNamespace').emit(/* .. */) 鈫 A todos los clientes en el espacio de nombres 鈥渕yNamespace鈥.

  • io.of('myNamespace').to('room1').emit(/* .. */) 鈫 A todos los clientes en room1 en el espacio de nombres 鈥渕yNamespace鈥.

  • io.to(socketId).emit(/* .. */) 鈫 A un socket en particular por su ID (mensaje privado).

  • io.local.emit(/* .. */) 鈫 A todos los clientes en este nodo (cuando se tienen m煤ltiples nodos).

  • io.emit(/* .. */) 鈫 A todos los clientes conectados.

Eventos del cliente

  • socket.emit(/* .. */) 鈫 Emisi贸n b谩sica.
  • socket.emit("question", (answer) => {*...*}); 鈫 Con reconocimiento.
  • socket.compress(false).emit(/* .. */) 鈫 Sin compresi贸n.
  • socket.volatile.emit(/* .. */) 鈫 鈥嶶n mensaje que podr铆a eliminarse si el transporte de bajo nivel no se puede escribir鈥.
  • Con timeout cuando el receptor no recibi贸 el evento en el tiempo esperado.

Emit Cheatsheet

Server-side

io.on("connection", (socket) => {

  // basic emit
  socket.emit(/* ... */);

  // to all clients in the current namespace except the sender
  socket.broadcast.emit(/* ... */);

  // to all clients in room1 except the sender
  socket.to("room1").emit(/* ... */);

  // to all clients in room1 and/or room2 except the sender
  socket.to("room1").to("room2").emit(/* ... */);

  // to all clients in room1
  io.in("room1").emit(/* ... */);

  // to all clients in namespace "myNamespace"
  io.of("myNamespace").emit(/* ... */);

  // to all clients in room1 in namespace "myNamespace"
  io.of("myNamespace").to("room1").emit(/* ... */);

  // to individual socketid (private message)
  io.to(socketId).emit(/* ... */);

  // to all clients on this node (when using multiple nodes)
  io.local.emit(/* ... */);

  // to all connected clients
  io.emit(/* ... */);

  // WARNING: `socket.to(socket.id).emit()` will NOT work, as it will send to everyone in the room
  // named `socket.id` but the sender. Please use the classic `socket.emit()` instead.

  // with acknowledgement
  socket.emit("question", (answer) => {
    // ...
  });

  // without compression
  socket.compress(false).emit(/* ... */);

  // a message that might be dropped if the low-level transport is not writable
  socket.volatile.emit(/* ... */);

});