我有一个nodeJS应用程序添加了socket io和Express,如下所示:
服务器:
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);
});
Run Code Online (Sandbox Code Playgroud)
客户:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
</script>
Run Code Online (Sandbox Code Playgroud)
目前,服务器只提供一个html页面.我发现,在html和服务器之间建立套接字连接之后(此时storeEachSocket.length为1且clients.length为1),如果我刷新这个html页面,storeEachSocket.length和clients.length都将为2 ,表明这个html和服务器之间有2个套接字连接.我想知道这是正常的吗?即使在我创建第二个套接字连接后,第一个套接字连接也不会消失?
我还想知道,如果我打算跟踪这个用户(html),如果一个用户使用两个套接字连接,我该怎么办?
socket.io ×1