ExpressJSとSocket.ioに基づいて構築されたWebアプリケーションの作業。 次の投稿 では、初めてのミドルウェア構文の使用法を確認しました。次に構文の例を示します。
_const io = require('socket.io')();
io.use(function(socket, next) {
// execute some code
next();
})
.on('connection', function(socket) {
// Connection now authenticated to receive further events
socket.on('message', function(message) {
io.emit('message', message);
});
});
_
基本的には、_socket.io
_インスタンスでミドルウェア関数を使用します。私の以前の理解では、middlwareはExpressインスタンス(app.use(...)
)でのみ使用できるということでした。
app.use(...)
と同様に機能する通常のミドルウェアですか?io.use()
を使用すると、新しく着信するすべてのsocket.io接続に対して呼び出される関数を指定できます。次のような幅広い用途に使用できます。
等々...
その目的はExpressミドルウェア(app.use()
のような)に似ていますが、これは受信のsocket.io接続用であり、Expressが管理する通常のhttp要求の受信用ではありません。ミドルウェアで着信httpリクエストを処理する場合は、app.use()
でExpressミドルウェアを使用します。ミドルウェアで着信socket.io接続を処理する場合は、socket.ioミドルウェアをio.use()
とともに使用します。