我有一个使用socket io和Express添加的nodeJS应用程序,代码如下:
服务器端:
客户:
目前服务器仅提供一个html页面。我发现,在html与服务器之间建立socket连接后(此时storeEachSocket.length为1,clients.length为1),如果我刷新该html页面,则storeEachSocket.length和clients.length均会变成2,表示该html与服务器之间有两个socket连接。我想知道这是否正常?即使创建了第二个socket连接,第一个socket连接仍不会消失吗?
我还想知道,如果我要跟踪这个用户(html),如果他使用了两个socket连接,我该怎么办?
服务器端:
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页面。我发现,在html与服务器之间建立socket连接后(此时storeEachSocket.length为1,clients.length为1),如果我刷新该html页面,则storeEachSocket.length和clients.length均会变成2,表示该html与服务器之间有两个socket连接。我想知道这是否正常?即使创建了第二个socket连接,第一个socket连接仍不会消失吗?
我还想知道,如果我要跟踪这个用户(html),如果他使用了两个socket连接,我该怎么办?