req.isSocket
このリクエスト(req
)が Socket.io 接続から発生したかどうかを示すフラグ。
req.isSocket;
if (req.isSocket){
// You're a socket. Do cool socket stuff like subscribing.
User.subscribe(req, [req.session.userId]);
}
else {
// Just another HTTP request.
// (`req.isSocket` is undefined)
}
- 実際のSocket.ioリクエストに依存する
subscribe()
やwatch()
のようなPubSubやWebSocket中心のメソッドへの呼び出しを、HTTPリクエストがスキップできるようにするのに役立ちます。これにより、WebSocketとHTTPクライアントの両方でバックエンドコードを再利用できます。- ご想像のとおり、接続された**他の**ソケットに公開するメソッドを実行する前に、
req.isSocket
をチェックする必要はありません。これらのメソッドはリクエストに依存しないため、どちらの方法でも機能します。