簡體   English   中英

邏輯斷開sails.js socket.io

[英]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文件將同時具有onConnectonDisconnect方法,使您可以訪問連接/斷開連接套接字和會話。

我們可以使用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!
   }
  }

 }

對於Sails 0.12.3

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.

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