2016-10-25 95 views
0

如何使用Ajax調用刷新/填充Node.js中的socket.request.session.passport對象?刷新socket.io請求對象

我試過重新連接Ajax調用後的套接字無濟於事。看起來服務器上的這個對象只是在頁面加載後刷新,這表明socket.io客戶端庫在加載時在瀏覽器中讀取cookie,並且從不再查看它們。

我使用Express,passport.js和socket.io。

+1

'socket.request'來自國家創建socket.io連接時。如果殺死客戶端上的socket.io對象並創建一個全新的對象,則應該在服務器上獲得一個新連接,並在服務器上獲得一個新的'socket.request'。你可能只想看看如何更好地使用護照和socket.io在這裏:https://github.com/jfromaniello/passport.socketio – jfriend00

+0

是的,它從來沒有再看cookie,因爲cookie只與套接字一起發送。 io連接。只要連接保持連接狀態,就不會再發送cookie,因爲一旦連接了原始HTTP請求(包含cookie),所有將來的通信都只是webSocket/socket.io數據包。通過socket.io消息進行通信時不會發送cookie。 – jfriend00

回答

0

感謝@ jfriend00解決方案是銷燬客戶端上的對象並創建一個新的對象。

mysocket.disconnect() 
mysocket = io()