https://github.com/xpepermint/socket.io-express-session 這是我嘗試過的很多方法之一。 我嘗試了所有這些問題的答案,以及: How to share sessions with Socket.IO 1.x and Express 4.x? 而一些......這一切都使我有exaclty相同的結果:將快速會話傳遞給socket.io
throw new TypeError("Parameter 'url' must be a string, not " + typeof url) ^TypeError: Parameter 'url' must be a string, not undefined
我已經想盡解決方案,我發現在互聯網上,基本上一切都使我到相同的錯誤。 在某些時候,我只是試着複製和粘貼找到的例子,他們給我完全相同的結果。 我猜中間件更新之後出了點問題。如何解決它?有沒有另一種可靠的方式與socket.io共享快速會話?
var Session = require('express-session');
var session = Session({ secret: 'pass', resave: true, saveUninitialized: true });
var cookieParser = require('cookie-parser');
var express = require('express');
var app = express();
app.use(cookieParser());
app.use(session); // session support
app.get('/', function (req, res) {
req.session.uid = 1;
res.send('Hi user #' + req.session.uid);
});
var http = require('http').createServer(app);
http.listen(3000, function(){
console.log('listening on *:3000');
});
var ios = require('socket.io-express-session');
var io = require('socket.io')(http);
io.use(ios(session)); // session support
io.on('connection', function(socket){
console.log(socket.handshake.session);
});
上面是一個返回這個錯誤的例子。