2011-09-22 180 views
11

在服务器端,我得到在socket.io中获取消息发送者的客户端ID?

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

我怎样才能得到获得senderid而不必通过与消息张贴他们的clientid发件人?

回答

21

原来我可以只使用socket.id用户通过发送味精的得到他们的客户端ID,如:

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

本来我想我可能只是做获取客户端ID:

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

但ClientID的会是谁连接在这种情况下,不到最后谁的人通过聊天

+0

我很抱歉,但保存socket.id的声明变种“连接”后,将d发送的最后一个人诀窍!为我工作很好 –

0

我建议通过用户名发送(确保它是唯一的)并在客户端记录中保留与用户名相关联的客户端id对象。

相关问题