Socket.io + SailsJS:聊天应用程序 - 如何检查客户端是否关闭,并使用户脱机?

时间:2015-01-12 08:32:28

标签: node.js socket.io sails.js node-webkit

我正在使用node-web kit和SailJs创建一个多用户聊天应用程序,我正试图实现用户的登录状态。用户在打开应用程序时联机。用户离线的情况是:

  1. 用户点击退出按钮
  2. 用户关闭应用程序窗口。
  3. 用户关闭他/她的系统。
  4. 当用户关闭系统时,注销状态不起作用。以下是我编写的代码的一部分:

    UserSocket.find({
      companyId: user.companyId
    }, function (err, sockets) {
      if (!err && sockets != undefined && sockets.length > 0) {
        socketList = _.pluck(sockets, "socketId");
        sails.sockets.emit(socketList, 'userOffline', {
           previous: user
        });
      }
    });
    

    请帮我弄清楚这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用config / sockets.js中的onDisconnect方法?

module.exports.sockets = {
    onDisconnect: function(session, socket) {
        //do your stuff here

    }
}
相关问题