Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

84
Vistas
Compartir SocketIDs a través de archivos Node.js

Tengo una aplicación de pila MERN y tengo una matriz que realiza un seguimiento de los usuarios registrados.

 server/index.js var connectedUsers = [] io.on('connection', (socket) => { socket.on('addUser', (userId) => { connectedUsers.push({userId, socket.id}) }) })

También tengo una solicitud POST para crear un documento Post.

 server/controllers/post export const createPost = async (req, res) => { const post = req.body; const newPostMessage = new PostMessage({ ...post, creator: req.userId, createdAt: new Date().toISOString() }) try { await newPostMessage.save(); res.status(200).json(newPostMessage); awardBadges(req.userId) } catch (error) { res.status(50).json({ message: error.message }); } }

Después de crear un documento de publicación y enviarlo como JSON, verificará si el usuario cumple con los requisitos para una insignia (similar a la insignia de Stackoverflow)

 export const awardBadges = async (userId) => { // Assign awards // Update user's awards field with the badges he received // and mailbox field with that specifies which awards he received }

Si el usuario está conectado y recibió una credencial, emitirá un mensaje para que el usuario envíe una solicitud GET a la base de datos para obtener su campo de buzón.

Sé que puedo lograr esto haciendo lo siguiente:

 io.to(socket.id).emit("getMailbox");

Pero, ¿cómo puedo acceder al socketId si está en un archivo node.js diferente? ¿Tendría que hacer que los usuarios conectados sean una var global ?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda