在套接字服务器端发射器中,用户[name] .emit不是函数

时间:2017-04-18 23:20:15

标签: node.js events socket.io emit

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});
        }
});

0 个答案:

没有答案