sails.sockets
)Sails は、接続されたソケットクライアントとのリアルタイム通信のためのシンプルなインターフェースを提供するいくつかのメソッド (sails.sockets.*
) を公開しています。これらは、HTTP リクエストを待つのではなく、接続されたクライアントにリアルタイムでイベントやデータをプッシュするのに役立ちます。これらのメソッドは、クライアントソケットがブラウザのタブ、iOS アプリ、またはお気に入りの家庭用 IoT アプライアンスから接続されたかどうかに関係なく利用できます。
これらのメソッドは、Socket.IO の組み込みインスタンスを使用して実装されており、sails.io
として直接利用できます。ただし、sails.io
を直接使用することはほとんどありません。代わりに、sails.sockets.*
で利用できるメソッドを呼び出す必要があります。さらに、特定のユースケースでは、より高いレベルの抽象化にアクセスし、Sails の組み込みブループリント APIで使用される、リソースフル PubSub メソッドを利用することもできます。
メソッド | 説明 |
---|---|
.addRoomMembersToRooms() |
あるルームのすべてのメンバーを、1 つ以上の追加のルームにサブスクライブします。 |
.blast() |
サーバーに接続されているすべてのソケットにメッセージをブロードキャストします。 |
.broadcast() |
ルーム内のすべてのソケットにメッセージをブロードキャストします。 |
.getId() |
受信ソケットリクエスト (req ) からソケット ID を解析します。 |
.join() |
ソケットをルームにサブスクライブします。 |
.leave() |
ソケットをルームからサブスクライブ解除します。 |
.leaveAll() |
1つのルームのすべてのメンバーを、そのルーム *および* 現在サブスクライブしている他のすべてのルームからサブスクライブ解除します。ただし、各ソケットIDと同じ名前の自動ルームは除きます。 |
.removeRoomMembersFromRooms() |
あるルームのすべてのメンバーを、1つ以上の他のルームからサブスクライブ解除します。 |
上記のメソッドに見当たらないものがありますか?Sails v0.12 では、よりパフォーマンスの高いエイリアスがすでに利用可能であるか、パフォーマンスとスケーラビリティ上の理由から、多数の
sails.sockets
メソッドが非推奨になりました。詳細については、v0.12 への移行ガイドを参照してください。