マルチユーザー通信アプリを実装しようとしています。ユーザーのソケットを彼のIDで識別したいので、ソケットのIDをユーザーのIDに設定できますか?
socket.id=user.userId;
マルチユーザー通信アプリを実装しようとしています。ユーザーのソケットを彼のIDで識別したいので、ソケットのIDをユーザーのIDに設定できますか?
socket.id=user.userId;
これはあなたを助けるかもしれません
io.sockets.on('connection', function (socket) {
console.log("==== socket ===");
console.log(socket.id);
socket.broadcast.emit('updatedid', socket.id);
});
クライアント側でソケットIDを保存できます。1-1メッセージ(プライベートチャット)が必要な場合は、更新されたソケットIDを使用します。このようなもの :
io.sockets.socket(id).emit('private message', msg, mysocket.id)
これは可能ですが、Node.jsやその他のフレームワークキーと衝突しないプロパティを使用してください
socket.myappsuperuserid = user.userId;
ここ
クライアント側
var socket = io.connect();
socket.on('connect', function () {
console.log("client connection done.....");
socket.emit('setUserId','random value');
});
サーバー側
io.sockets.on('connection', function (socket) {
socket.on('setUserId',function(uId){
socket.userId = uId;
});
});
これは役立つかもしれません...
ユーザーが接続すると、socket.ioでsocket.ioは一意のsocket.idを生成します。これは、基本的にランダムで一意の推測できないIDです。接続した後、socket.join('userId')を呼び出します。基本的にここでは、userIdを使用してこのソケットに部屋を割り当てます。次に、このユーザーに何かを送信したいときはいつでも、このio.to(userId).emit('my message'、'hey there?')のようにします。この助けを願っています。