在socket.io中获取消息发送者的客户端ID?

在服务器端,我得到了

socket.on('chat', function (data) { io.sockets.socket(data.clientid).emit('chat', { msg: data.msg, senderid : senderid }); }); 

我怎么能得到senderid没有发送者不得不通过邮件他们clientid?

事实certificate,我可以使用通过msg发送的用户的socket.id获得他们的clientid,如:

  socket.on('chat', function (data) { io.sockets.socket(data.clientid).emit('chat', { msg: data.msg, senderid : socket.id }); }); 

原本我以为我可以通过这样做来获取这个clientid:

  io.sockets.on('connection', function (socket) { clientid = socket.id; 

但是clientid将是最后一个在这种情况下连接的人,而不是通过聊天发送的最后一个人

我build议发送一个用户名(确保它是唯一的),并保留与用户名相关联的客户端ID的对象在内存中。