Tengo un problema (muy frustrado) mientras conecto la función io.on. Estoy siguiendo un tutorial de youtube ( https://www.youtube.com/watch?v=3QNBVG2yqKA ), donde se crea una aplicación de chat usando node js y socket io. El código del tutorial y el mío coinciden exactamente (comprobado 100 veces), pero el código mío no funciona.
//Node server const io=require('socket.io')(3000); const users={}; io.on('connection', socket=>{ console.log("hi"); socket.on("new-user-joined",name=>{ console.log("name",name); users[socket.id]=name; socket.broadcast.emit("user-joined",name); }); socket.on("send",message=>{ socket.broadcast.emit("receive",{message: message, name:users[socket.id]}); }); }); const socket=io.connect("http://localhost:3000"); const form=document.getElementById("sendContainer"); const msg=document.getElementById("messageInp"); const msgContainer=document.querySelector(".container"); const append=(message,position)=>{ const messageEle=document.createElement("div"); messageEle.innerText=message; messageEle.classList.add("message"); messageEle.classList.add(position); msgContainer.append(messageEle); } const name1=prompt("Enter your name to join"); socket.emit("new-user-joined", name1); socket.on("user-joined", name=>{ append(`${name} joined the chat`, "right"); })el código del lado del servidor no se ejecuta más allá del objeto const users={}, probé usando el registro de la consola
y en la consola del navegador se muestra este error
Por favor, ayúdame a resolver esto.
Debe agregar el objeto cors al iniciar el socket en el que debe agregar orígenes, de lo contrario, bloquea la solicitud.
cors: { origins: [], },Puede consultar los documentos de socket aquí para manejar cors: https://socket.io/docs/v4/handling-cors/