【发布时间】:2014-02-26 18:10:05
【问题描述】:
我遇到了使用 socket.io 的 socket.emit 问题。我有一个已连接客户端的对象,当我使用 socket.emit 向特定客户端发出消息时,它会发出两次! 任何解决方案。
这里是代码。
var clients ={};
io.sockets.on('connection',function(socket){
socket.on('verifyId',function(data){
clients[data.user_id]=[];
clients[data.user_id].push(socket);
});
socket.on('saveConverse',function(data){
user1=clients[data.to];
if(clients[data.to])
user1[0].emit('newMessage',{msg:'hi, here is a new message!'});
//here it is emitted two times.
});
});
【问题讨论】:
-
saveConverse在听什么? -
saveConverse 是客户端触发的事件,用于保存对话。然后它被发送给一个特定的客户,它被发送给谁。