users[name].emit('private_msg', {msg : msg, user:socket.username});
TypeError:用户[名称] .emit不是函数
我无法解决此错误,我该如何解决?
我正在使用nodejs和socket.io开发一个聊天应用程序 在这里用户{};是一个包含连接用户的对象,我想将它们用作socketid,以添加私人消息传递的功能。
完整代码: -
//Send Message
socket.on('send message',function(data,callback){
var msg = data.trim();
if(msg.substr(0,3) === "/p ")
{
msg = msg.substr(3);
var ind = msg.indexOf(' ');
if(ind !== -1)
{
var name = msg.substring(0,ind);
var msg = msg.substring(ind + 1);
if(name in users)
{
console.log(users[name]);
users[name].emit('private_msg', {msg : msg, user:socket.username});
console.log('Prviate' + users[name]);
}
else
{
callback('Error!, user not found');
}
}
else
{
callback('plz enter msg');
}
}
else
{
io.sockets.emit('new message',{msg : msg,user:socket.username});
}
});