2013-05-13 14 views
37

私はSocket.ioを使用しています。クライアント側からサーバーへの接続状況を知りたいと思います。このようなSocket.ioクライアントで接続ステータスを取得する

何か:

socket.status // return true if connected, false otherwise 

私は、接続が低下しているか、それが何らかの理由で切断されている場合は、ユーザーに視覚的なフィードバックを与えるために、この情報を必要とします。

+1

socket.ioクライアントを使用していますか:https://github.com/LearnBoost/socket.io-clientまたはsimple socket.io library? – Shubhansh

+0

私はNode.jsから提供されているjavascriptファイルを使用していますので、最初のものと思います。 – franzlorenzon

答えて

76

あなたはsocket.connectedプロパティをチェックすることができます。

var socket = io.connect(); 
console.log('check 1', socket.connected); 
socket.on('connect', function() { 
    console.log('check 2', socket.connected); 
}); 

接続は、クライアントが再接続をピックアップするまで、それはfalseに設定されます失われた場合には、動的に更新されます。だから、setIntervalなどで簡単に確認できます。

もう1つの解決方法は、disconnectイベントをキャッチし、自分でステータスを追跡することです。接続は、この機能を使用して別れを失ったりしていないwheatherあなたがチェックすることができ

+2

これは完全に動作します。 ) – franzlorenzon

+7

私は 'socket'変数を' console.log'で見つけました;) – robertklep

+0

Lol、私もそれをやったことがあります。私はこのプロパティをドキュメントで見つけませんでした。もう一度ありがとう:) – franzlorenzon

4

: -

var socket = io(/**connection**/); 
socket.on('disconnect', function(){ 
//Your Code Here 
}); 

は、それはあなたを助けることを願っています。

関連する問題