2016-10-25 9 views
0

Node.jsのsocket.request.session.passportオブジェクトをAjaxコールでリフレッシュ/ポピュレートするにはどうすればよいですか?socket.ioリクエストオブジェクトのリフレッシュ

私はAjaxコールが無駄になった後にソケットを再接続しようとしました。サーバー上のこのオブジェクトは、ページが読み込まれた後にのみリフレッシュされるように見えます。ソケットがロードされるとブラウザのCookieが読み取られ、再度表示されません。

私はExpress、passport.js、およびsocket.ioを使用しています。

+1

socket.io接続が作成されたときに 'socket.request'状態から来ています。クライアント上でsocket.ioオブジェクトを削除して全く新しいソケットを作成した場合は、サーバ上で新しい接続を取得し、サーバ上で新しい 'socket.request'を取得する必要があります。パスポートとsocket.ioの使い方を見てみたいと思うかもしれません:https://github.com/jfromaniello/passport.socketio – jfriend00

+0

クッキーがソケットで送られるだけなので、クッキーはもう一度見えません。 io接続。接続が維持されている間は、クッキーは元のHTTPリクエスト(クッキーを含む)に接続された後は送信されません。将来のすべての通信はwebSocket/socket.ioパケットだけです。 socket.ioメッセージで通信するときは、クッキーは送信されません。 – jfriend00

答えて

0

@ jfriend00のおかげで、解決策はクライアント上のオブジェクトを破棄して新しいオブジェクトを作成することでした。

mysocket.disconnect() 
mysocket = io() 
関連する問題