多くのユーザー グループ間でリアルタイム接続を確立したいのですが、サーバー サイド スクリプトは初めてです........ 特定のメッセージ (データ) を特定のユーザーに送信したいのですが、私の質問はどうすればよいかです。すべてのユーザーに同じソケットを使用するか、異なるユーザーまたは異なるタスクに異なるソケット接続を使用するか..?
現在、私は単一のソケットを使用して、この方法でユーザーにサービスを提供しています..これは実際のアプリではなく、私がやろうとしていることの単なるプロトタイプです:
var io = require('socket.io').listen(server);
server.listen(http_port);
var allUsers=[];
var num=1;
io.sockets.on('connection', function (socket) {
var user = 'user#'+num++;
allUsers[user] = socket;
socket.on('message',function(data){
if(data.to)
allUsers[data.to].emit("message",{msg:data.msg,by:data.by});
});
});
クライアント側:
socket.emit('message',{to:'user#1',from:'talha',msg:'hello'});
たぶん、私は間違ったアプローチを取っています。後でデータベースに問い合わせて、それらの結果を特定のクライアントに送信するためです。それをどのように管理すればよいでしょうか。コードの詳細と回答を提供してください..よろしくお願いします。