エクスプレスミドルウェアの内部にリクエストのソケットを取得する方法はありますか?エクスプレスミドルウェアの使用時にソケットを組み合わせて表現しますか?
すなわち:
import express from 'express';
import io from 'socket.io';
const app = express();
// combine app and io somehow ...
// When client makes a GET request to '/emit/to/self', that client's socket will recieve the 'hello:world' message.
app.get('/emit/to/self', (req, res) => {
req.socket.emit('hello:world', { ... });
res.send('You just triggered your own socket!')
})
アイデアは特急ミドルウェアが同じクライアントから接続されたソケットを参照するreq.socket
性質を持っているということで。彼らは単にAPIを介して作成するために要求された画像の正確なプログレスバーを持っているでしょう
app.post('/image/create', (req, res) => {
createExpensiveImage({
onProgress: (progress) => { req.socket.emit('image:progress', { progress }) },
});
})
クライアント:これは、次のような、いくつかのより複雑なユースケースを可能にするであろう。
はおそらく、この[socket.io間のセッションを共有し、表現する方法](http://stackoverflow.com/questions/25532692/how-to-share-sessions-with-socket- io-1-x-and-express-4-x)である。参考までに、Googleで「share session express socket.io」を検索すると、数百のヒットがあります。これについてたくさん書かれています。 – jfriend00