簡體   English   中英

nodejs socket.io無法發出內部事件

[英]nodejs socket.io can not emit internal event

我正在嘗試發出注銷事件以擦除客戶端會話並斷開他的連接。 但是我無法在線找到合適的解決方案來做到這一點。 這是我的注釋代碼:

exports.post = function(req, resp, next) {
    var sid = req.session.id;

    var io = req.app.settings.io;//import io object with event listeners

    req.session.destroy(function(err) {
        io.sockets.$emit('session:reload');//here I am trying to emit internal event but it does not work - says that it is not a function
        if(err) return next(err);
        resp.redirect('/');
    });
}

請幫忙。 在文檔中,這部分沒有任何內容。

如果有人遇到這樣的問題,解決方案就很簡單。 似乎在socket.io> 2版本中沒有發出功能。 至少我沒有找到它。 相反,可以使用內部nodejs內置EventEmitter發出內部事件:

var EventEmitter = require("events").EventEmitter;
var ee = new EventEmitter();
io.ee = ee;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM