2016-04-24 13 views
2

クライアントが接続するたびに、socket.idを使用してそのクライアントにIDを割り当て、将来の参照のためにサーバーに保持します。私が今問題を抱えているのは、切断/再接続することです。クライアントのページをリロードすると、技術的に新しいクライアントが作成され、異なるIDを持つサーバーに接続するため、このシナリオをどのようにシミュレートするのかはわかりません。切断してクライアントを手動で接続すると、クライアントは再び別のID(socket.id)を持ちます。Socket IOで再接続イベントを検出する方法

socket.on( 'reconnect'、function(){...})を使ってクライアントとサーバーの両方で 'reconnect'イベントを設定しましたが、上記のことを考えれば、

このシナリオをどのようにシミュレートしますか?そして、この新しいクライアントが実際に切断された同じクライアントであるかどうかを検出する最も良い方法は何ですか?

+0

として私が持っていることを得ることができますがあります既にこの質問に回答しました:http://stackoverflow.com/questions/20260170/handle-browser-reload-socket-io/20261163#20261163 –

+0

ありがとうございます。私は実際にクライアント/サーバーの両方のためにcustomIDを設定/識別するために余分なイベントを出すこのソリューションについて考えました。私はそれが私の問題を解決すべきだと考えています。どういうわけか再接続イベントに触れることができて、それが他の解決策を示唆しているかどうかを確認することができますか? – rustyengineer

+0

socket.ioには 'reconnect'イベントはなく、実装する必要がないと確信していますあなた自身::) –

答えて

0

サーバーに放出すると、サーバー上の再接続クライアント

socket.on('reconnect', function() { 
    console.log('you have been reconnected'); 
    // where username is a global variable for the client 
    socket.emit('user-reconnected', username); 
}); 

を見つけることができたの内側にクライアント側での再接続のイベントは、あなたが

socket.on('user-reconnected', function (username) { 
    console.log(username + ' just reconnected'); 
}); 
関連する問題