const sessionMiddleware = expressSession({
secret: 'Tecky Academy teaches typescript',
resave:true,
saveUninitialized:true,
cookie:{secure:false}
});
app.use(sessionMiddleware);
io.use((socket,next)=>{
let req = socket.request as express.Request
let res = req.res as express.Response
sessionMiddleware(req, res, next as express.NextFunction
});
//...
io.on('connection', function (socket) {
// You can set any values you want to session here.
const req = socket.request as express.Request;
req.session['key'] = 'XXX';
// There is no auto save for session.
socket.request.session.save();
// You can also send data using socket.emit() although it is not very useful
socket.emit('any-key','values');
socket.on("disconnect",()=>{
//... rest of the code
})
});