2017-08-28 3 views
0

こんにちは、私はsocketとnode.jsに慣れていて、2人のユーザー(別のブラウザ)がゲームをするゲームアプリケーションを開発しています。 私はnode/socketにserver.jsを使用し、ユーザーイベントが処理される場所にはcilent.jsを使用しました。 は、両方のユーザーが接続されていると仮定し、ゲームをプレイし、一人のユーザーが切断またはリフレッシュブラウザを得れば、私は私がsocket.ioとnode.jsを使用して、リフレッシュまたは切断後にソケット(接続されたユーザー)の前のデータを取得する

socket.on('disconnect', function() 
    {///timer used here in which i can get socket id of disconnected but what next 
}); 

に切断されたソケットIDを取得しようとしましたが、次は何名などのように、以前のデータを取得しておりませんするには、どうすればそれを知っているでしょうか?後で/切断する 同じユーザーが接続し、どのようにユーザー名のような以前のデータを取得する?あなたは、これはコードの下にしようとし実装するには、部屋から切断されているユーザのユーザ名が含まれます、配列を作成する必要が切断されたユーザーを追跡するために

答えて

0

socket.on('disconnect', function() 
    array.push(socket.username); 
}); 

のユーザ名を取得するためには、ときに、ユーザーの配列にプッシュするクライアント、ユーザーが以下のショーとしてによって達成することができる部屋への接続時にユーザー名を追加する必要があります、

socket.on('joinroom',function(data){ 
    socket.username = "user1"; 
} 

は今、あなたは今、切断されたユーザ名のリストを持っている配列を持っていますループのためのput for roomに接続するhは配列全体を回転し、ユーザー名が配列にある場合、同じユーザーが接続されていることを知っていれば、そのユーザーを前の部屋に追加できます。 、

は、

var obj={username:socket.username , room:socket.room} 
array.push(obj); 

をユーザーがあなたも配列にすることにより行うことができる部屋を追加する必要があります切断されたユーザーの以前の部屋を取得するには、ユーザーが部屋に接続したとき、あなたはまた、部屋を追加する必要がありますこれは

を助ける

socket.on('joinroom',function(data){ 
    socket.username = "user1"; 
    socket.room = "roomname"; 
} 

・ホープ

関連する問題