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

我在node-web kit和SailJs中创build了一个多用户聊天应用程序,并试图实现用户的login状态。 用户在打开应用程序时联机。 用户下线的情况是:

  1. 用户点击注销button
  2. 用户closures应用程序窗口。
  3. 用户closures他/她的系统。

用户closures系统时,注销状态不起作用。 这是我写的代码的一部分:

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 }); } }); 

请帮我解决这个问题。 提前致谢。

你有没有尝试在config / sockets.js中使用onDisconnect方法?

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