1. ホーム
  2. node.js

[解決済み] Socket.ioクライアントの接続状態を取得する

2023-07-11 13:31:02

質問

Socket.ioを使っているのですが、クライアント側からサーバへの接続状態を知りたいです。

こんな感じかな。

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

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

どのように解決するのですか?

を確認することができます。 socket.connected プロパティで確認できます。

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

動的に更新されます。もし接続が切れた場合は、この値は false に設定されます。そのため、簡単に setInterval などで簡単にチェックできます。

別の解決策としては disconnect イベントをキャッチし、自分でステータスを追跡することです。