【发布时间】:2021-10-18 11:07:49
【问题描述】:
我正在尝试在 NodeJS 应用程序中建立套接字连接。 我试图运行这段代码
index.js
const io = require('socket.io')(8000)
const users = {};
io.on('connection', socket =>{
socket.on('new-user-joined', 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]})
});
socket.on('disconnect', message =>{
socket.broadcast.emit('left', users[socket.id]);
delete users[socket.id];
});
});
client.js
const user = prompt("Enter your name to join");
socket.emit('new-user-joined', user)
socket.on('user-joined', user =>{
append(`${user} joined the chat`, 'right')
})
socket.on('receive', data =>{
append(`${data.name}: ${data.message}`, 'left')
})
socket.on('left', user =>{
append(`${user} left the chat`, 'right')
})
但我没有得到正确的结果和控制台中的任何错误。
【问题讨论】:
-
“我没有得到正确的结果”是什么意思?你能解释一下你的期望和正在发生的事情吗?
-
从提示输入名称后,应该会显示此“${user} 加入聊天”消息。但我没有得到任何输出
-
我测试了你的控制台,用
console.log替换了append函数,它对我有用。当用户连接或断开连接时,我收到console消息...
标签: javascript node.js socket.io