このセクションでは、各 SailsSocket インスタンスで使用可能なメソッドについて説明します。これらのメソッドのほとんどは、ソケットがサーバーに接続する前でも呼び出すことができます。.get()
や .request()
のようなリクエストメソッドの場合、ソケットが接続するまで呼び出しはキューに入れられ、接続されると順番に実行されます。
SailsSocket インスタンスで使用する最も一般的なメソッドは、メインのSocket クライアントリファレンスセクションに記載されています。これらには、.get()
、.put()
、.post()
、.delete()
、.request()
、.on()
、および.off()
が含まれます。
基本的な通信とイベントリスニングメソッドに加えて、各 SailsSocket インスタンス(io.socket
を含む)は、サーバー接続を処理するためのいくつかのメソッドを公開しています。
.isConnected()
SailsSocket インスタンスが現在サーバーに接続されているかどうかを判定します。接続が確立されている場合はtrue
を返します。
io.socket.isConnected();
.isConnecting()
SailsSocket インスタンスが現在サーバーへの接続処理中かどうかを判定します。接続が試行されている場合はtrue
を返します。
io.socket.isConnecting();
.mightBeAboutToAutoConnect()
SailsSocket インスタンスが既にロードされているが、まだ完全に構成されていないか、自動接続を試行していないことを検出します。
sails.io.js
ライブラリは、イベントループの1ティック待ってから、autoConnect
が有効になっているかどうかを確認し、有効な場合は接続を試みます。これにより、接続を試みる前にSailsSocket
インスタンスを構成できます(例:io.sails.url
の設定)。mightBeAboutToAutoConnect()
メソッドは、sails.io.js
がロードされたが、イベントループの必要なティックがまだ経過していない場合にtrue
を返します。
io.socket.mightBeAboutToAutoConnect();
.disconnect()
SailsSocket インスタンスをサーバーから切断します。ソケットが既に切断されている場合はエラーをスローします。
io.socket.disconnect();
.reconnect()
切断された後(非意図的に、または.disconnect()
の呼び出しによって)SailsSocket インスタンスをサーバーに再接続します。インスタンスは、現在構成されているプロパティを使用して接続します。ソケットが既にサーバーに接続されている場合は、.reconnect()
はエラーをスローします。
io.socket.reconnect();
インスタンスが切断状態の場合、そのプロパティを変更できます。つまり、あるサーバーから切断されたインスタンスは、イベントバインディングやキューに入れられたリクエストを失うことなく、別のサーバーに再接続できます。
.removeAllListeners()
connect
やdisconnect
を含む、SailsSocket インスタンス上のサーバー関連のイベントのリスニングを停止します。
io.socket.removeAllListeners();