1

私は自分のウェブサイト用に node.js の Facebook のようなチャット プラグインをプログラミングしていますが、1 日後にサーバーがクラッシュするという問題が発生しています。問題は、私の session.event.addListener がリスナー配列を詰まらせてクラッシュさせていることだと思います。リスナーを追加するコードは次のとおりです。

this.events.addListener('update', o_.bind(function(package) {
    if(this.clear != 0){
        delete this.sessions[this.clear];
        break; //will this break stop a listener from being added?
    }
    var _package = package.toJSON();
    if(package.type == 'status' && package.status == 'offline') {
        var sids = Object.keys(this.sessions), sid, sess;
        for(sid in this.sessions) {
            sess = this.sessions[sid];
            if(sess.data('username') == package.username) {
                if(sess.listeners.length)
                    sess.send(200, {type: 'goodbye'});
                delete this.sessions[sid];
                break; //here too
            }
        }
    }
}, this));
};

if ステートメント内のブレークにより、リスナーが機能しているかどうかわからないため、リスナーが追加されないようにできますか。ありがとうございました!

4

0 に答える 0