req.socket
現在のリクエスト (req
) が接続された Socket.IO クライアントから発生した場合、req.socket
は生の Socket.IO ソケットインスタンスを参照します。
req.socket;
警告
req.socket
は、今後の Sails のリリースで非推奨になる可能性があります。代わりに、sails.sockets.*
メソッドを使用する必要があります。
現在のリクエスト (req
) が Socket.IO クライアントから発生しなかった場合、req.socket
は同じ意味を持ちません。最も一般的なシナリオである HTTP リクエストでは、req.socket
は存在しますが、代わりに基盤となる TCP ソケットを参照します。req.socket
を使用する前に、リクエストが接続された Socket.IO クライアント経由で到着したことを確認するために、req.isSocket
フラグを確認する必要があります。
req.socket.id
は、現在のソケットを表す一意の識別子です。これは、クライアントが最初に接続したときに Socket.IO サーバーによって生成され、ソケットが切断されるまで有効な一意の識別子です (たとえば、クライアントが Web ブラウザーの場合、req.socket.id
はユーザーがブラウザータブを閉じるまで有効です)。
Sails は、req.socket
およびそのメソッド req.socket.join
、req.socket.leave
、req.socket.broadcast
などを含む、Socket.IO Socket
の他のすべてのメソッドとプロパティへの直接的な低レベルアクセスも提供します。詳細については、関連する Socket.IO ドキュメントを確認してください。
if (req.isSocket) {
// Low-level Socket.io methods and properties accessible on req.socket.
// ...
}
else {
// This is not a request from a Socket.io client, so req.socket
// may or may not exist. If this is an HTTP request, req.socket is actually
// the underlying TCP socket.
// ...
}