Node JS を使用して最初の手順を実行しましたが、理解も回避策も見つからない奇妙な動作に直面するまで、問題はありませんでした。それは非常に単純であるべきであり、すべてが十分に文書化されており、残念ながら非常に明白な何かを見落としている可能性があるため、この動作の非常に多くの例を見つけることができます. この周りでほぼ2日を失った後、私は助けを求めることにしました...事前に感謝します。
オブジェクト (clientID、ソケット情報) を配列に格納しようとしていますが、接続が失われたときにオブジェクトを削除したいと考えています。
動作を複製するコードの小さなサブセットを作成しました。
var socket = require('socket.io');
var machines = [];
var mach1 = [new socket(), new socket()];
var mach2 = [new socket(), new socket()];
var mach3 = [new socket(), new socket()];
machines["357973049420265"] = mach1;
machines["357973049420266"] = mach2;
machines["357973049420267"] = mach3;
console.log("Before : " + Object.keys(machines));
machines.splice(0,1);
console.log("After : " + Object.keys(machines));
結果は次のとおりです。
Before : 357973049420265, 357973049420266, 357973049420267
After : 357973049420265, 357973049420266, 357973049420267
何か案は?
どうも