別のクライアントで受信した別のメッセージに基づいて選択された特定のクライアントにメッセージを「送信」したいのですが、どうすればよいですか?
各クライアントを自分の「部屋」に入れて放送することを考えています。より良い方法はありますか?
socket.ioバージョン1.0以降の更新
io.to(socketid).emit('message', 'whatever');
古いバージョンの場合:
各クライアントをプロパティとしてオブジェクトに格納できます。次に、メッセージに基づいてソケットを検索できます。
var basket = {};
io.sockets.on('connection', function (socket) {
socket.on("register", function(data) {
basket[data.nickname] = socket.id;
});
socket.on("privmessage", function(data){
var to = basket[data.to];
io.sockets.socket(to).emit(data.msg);
});
});
テストされていません...しかし、それはあなたにアイデアを与えるはずです
socket.io バージョン 1.0 の場合:
io.to(socketid).emit('message', 'whatever');