2
ブラウザをすばやくリフレッシュすると、ソケットオブジェクトが配列から削除されず、1分放置すると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 /'、{'unload on unload':true})を' htmlファイルに入れます。 –