[英]Logic on disconnect sails.js socket.io
我使用sails.js與socket.io的原始API。 現在,當用戶斷開連接時,我想通知其他人。 通常我會做類似的事情:
socket.on('disconnect', function () {
//disconnect logic
});
但我不確定如何在sails.js控制器內完成此操作。 任何幫助,將不勝感激。
從Sails v0.9.8開始,您的config/sockets.js
sockets.js文件將同時具有onConnect
和onDisconnect
方法,使您可以訪問連接/斷開連接套接字和會話。
我們可以使用config / sockets.js,如下所示。
// config/sockets.js
onConnect: function(session, socket) {
// If a user is logged in, subscribe to them
if (session.user) {
User.subscribe(socket, session.user);
}
},
onDisconnect: function(session, socket) {
// If a user is logged in, unsubscribe from them
if (session.user) {
User.unsubscribe(socket, session.user);
// If the user has no more subscribers, they're offline
if (User.subscribers(session.user.id).length == 0) {
console.log("User "+session.user.id+" is gone!");
// Do something!
}
}
}
在config/sockets.js
// beforeConnect: function(handshake, cb) {
// // `true` allows the connection
// return cb(null, true);
//
// // (`false` would reject the connection)
// },
/***************************************************************************
* *
* `afterDisconnect` *
* *
* This custom afterDisconnect function will be run each time a socket *
* disconnects *
* *
***************************************************************************/
// afterDisconnect: function(session, socket, cb) {
// // By default: do nothing.
// return cb();
// },
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.