次のように、ソケット io と Express を追加した nodeJS アプリケーションがあります。
サーバ:
var storeEachSocket=[];
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
storeEachSocket.push(socket);
console.log(storeEachSocket.length);
var clients = io.sockets.clients(); //clients is an array
console.log(clients.length);
});
クライアント:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
</script>
現在、サーバーが提供する html ページは 1 つだけです。html とサーバーの間にソケット接続が確立された後 (この時点で storeEachSocket.length は 1 で client.length は 1 です)、この html ページを更新すると、storeEachSocket.length と client.length の両方が 2 になることがわかりました。 、この html とサーバーの間に 2 つのソケット接続があることを示します。これは正常なのか知りたいですか? 2 番目のソケット接続を作成した後でも、最初のソケット接続は消滅しませんか?
また、このユーザー (html) を追跡する場合、1 人のユーザーが 2 つのソケット接続を使用している場合はどうすればよいでしょうか?