2
當我快速刷新瀏覽器時,有時套接字對象不會從陣列中刪除,如果我離開它一分鐘,它會減少到5或6,但永遠不會返回到1連接。刪除套接字表單陣列工作不正確
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
users.push(socket);
var my_index = users.indexOf(socket);
console.log("Im number " + (my_index+1) + " form " + users.length);
var timer = setInterval(function(){
socket.emit('date', {'date': new Date()});
}, 1000);
initSocketData(socket);
socket.on('client_data', function(data){
for (var i = 0, len = users.length; i < len; i++) {
users[i].emit('a_in', {'a_in': data});
}
});
socket.on('disconnect', function(socket){
clearInterval(timer)
if (my_index > -1) {
users.splice(my_index, 1);
}
});
});
和控制檯輸出
$ node socket.js
Im number 1 form 1
Im number 1 form 1
Im number 1 form 1
Im number 1 form 1
Im number 2 form 2
Im number 3 form 3
Im number 4 form 4
Im number 5 form 5
Im number 6 form 6
Im number 6 form 6
Im number 7 form 7
Im number 8 form 8
Im number 9 form 9
Im number 9 form 9
Im number 10 form 10
Im number 11 form 11
我把'var socket = io.connect'('http:// localhost:8001 /',{'unconnection on unload':true});'在html文件上,但它仍然發生 –