メインコンテンツにスキップ
バージョン: 4.x

切断の処理

それでは、Socket.IOの2つの非常に重要な特性を強調しましょう。

  1. Socket.IOクライアントは常に接続されているとは限りません。
  2. Socket.IOサーバーはイベントを保存しません。
{/* SVGアイコンはそのまま */}注意

安定したネットワーク上でも、接続を永遠に維持することは不可能です。

つまり、アプリケーションは一時的な切断後に、クライアントのローカル状態とサーバー上のグローバル状態を同期できる必要があります。

{/* SVGアイコンはそのまま */}注記

Socket.IOクライアントは、少し遅延した後に自動的に再接続を試みます。ただし、切断期間中に発生したイベントは、このクライアントにとって事実上失われます。

チャットアプリケーションのコンテキストでは、これは、切断されたクライアントが一部のメッセージを見逃す可能性があることを意味します。

The disconnected client does not receive the 'chat message' eventThe disconnected client does not receive the 'chat message' event

次のステップで、これを改善する方法を見ていきます。