socket.on('private-message', function(data){
console.log("Sending: " + data.content + " to " + data.username);
console.log(clients[data.username].socket.join(', '));
if (clients[data.username]){
io.sockets.connected[clients[data.username].socket].emit("add-message", data);
} else {
console.log("User does not exist: " + data.username);
}
});
这段代码工作正常,但我想要的是,我想发送多个使用套接字ID连接到套接字的连接客户端。
io.sockets.connected [reciver.socketid] .emit(" add-message",data);
有没有办法或者是否可以编写接收器socket.id组。我不想用于循环。
答案 0 :(得分:2)
是的,它现在解决了!!我们在这里回答。
io.to(socketid1).to(socketid2).emit("add-message", data);
或者您可以通过将客户加入群组来实现此目的。并向该组发送消息。
加入
socket.join(data.username);
发射
socket.join(data.username);
这使我免于编写大量代码
答案 1 :(得分:2)
随意使用我的Socket.IO Cheatsheet!
// Socket.IO Cheatsheet
// Add socket to room
socket.join('some room');
// Remove socket from room
socket.leave('some room');
// Send to current client
socket.emit('message', 'this is a test');
// Send to all clients include sender
io.sockets.emit('message', 'this is a test');
// Send to all clients except sender
socket.broadcast.emit('message', 'this is a test');
// Send to all clients in 'game' room(channel) except sender
socket.broadcast.to('game').emit('message', 'this is a test');
// Send to all clients in 'game' room(channel) include sender
io.sockets.in('game').emit('message', 'this is a test');
// Send to individual socket id
io.sockets.socket(socketId).emit('message', 'this is a test');
答案 2 :(得分:0)
您可以使所有用户订阅某个房间,然后可以发出消息。
int main(void) { //Note minimum signature of main function
ListNode *list1=NULL;
add(&list1, 3);//pass address of object, not object itself
add(&list1, 3);
答案 3 :(得分:0)
啊!我没有正确阅读文档!谢谢大家!:)
我一直在寻找这个... io.sockets.emit('Test1',response); 我在用这个... socket.emit(“ Test1”,response);
:)