2016-03-31 8 views
-1

を変更するが、私は使用同じソケットに、サイトが

を呼んで、私はウェブサイトのためのsocket.ioを使用していると私はscript.jsの終わりに私のindex.htmlを、私のscript.js

内のソケット接続を確立します

window.location = "main.html" 

main.htmlのindex.htmlと同じソケット接続を維持できますか?

+0

どのバックエンド言語がプロジェクトで使用されましたか? –

+0

私はバックエンドとしてnodejsを使用しています –

答えて

0

ページ間にリロードがない単一ページアプリケーションの場合は、ソケット接続が変更されないようにソケット接続が存在します。

そして、それはリロードした場合、その後ノードJSに以下のコードを入れて、それが再初期化ソケット接続初めて切断ソケットが再びclients変数に接続されているすべてのソケットの詳細を接続し、保存すること:

var clients = {}; 
io.sockets.on('connection', function(socket) { 
    socket.on('add-user', function(data) { 
     clients[data.user_id] = { 
      "socket": socket.id 
     }; 
    }); 

    //Removing the socket on disconnect 
    socket.on('disconnect', function() { 
     for (var name in clients) { 
      if (clients[name].socket === socket.id) { 
       delete clients[name]; 
       break; 
      } 
     } 
    }); 
}); 
+0

別のページをロードしていますが、他のページに切り替えても同じクライアント(したがって同じsocket.id)にアクセスできるようにします。 –

+0

私のgithubプロジェクトの1つを共有し、どうやって確認したらよいか分かります。https://github.com/zahid492/Realtime-colloboration-App-MEAN-Socket.io/blob/master/server .js –

+0

複数のページにアクセスすると、単一のソケットIDを格納することはできません。http://stackoverflow.com/questions/22920941/how-can-i-connect-multipule-html-pages-using-same-sessionid -in-socket-io?rq = 1 –

関連する問題