0
我在node.js中使用socket.io進行websockets(實時聊天),它在live-chat.dev域上運行。沒有Express的Socket.io會話
現在我有另一個項目在本地主機上運行,我在那裏連接到live-chat.dev(客戶端)。
我通過session.id來識別存儲在node.js應用程序中的用戶。
問題是:每頁重新載入都會產生新的session.id。
配置的node.js會議middlware的:
var sessionMiddleWare = session({
secret: 'livechat key',
resave: false,
saveUninitialized: true,
cookie: {
domain : 'localhost'
}
});
io.use(function(socket, next) {
sessionMiddleWare(socket.request, socket.request.res, next);
});
但問題是,在不同的主機名運行我的應用程序,這就是爲什麼插座IO給了我新的會話ID每次。如果我在一臺主機上運行兩個項目。一切工作正常 – Farkhad
然後,我認爲在你的情況下,你將不得不編寫一個自定義的中間件,並將兩個域作爲一個整體來處理。你也可以閱讀這個http://stackoverflow.com/questions/19104292/express-session-with-different-cookie-domain-per-request它可以幫助你。 –
它沒有幫助,我認爲問題在於localhost項目收到時不會設置coockie。感謝您試圖幫助! – Farkhad