Esempio n. 1
0
 /**
  * 获取所有在线用户 账号列表
  * 
  * 无参数
  * 
  * 返回所有在线用户列表
  */
 public function doOnlineUsers()
 {
     $clientList = Muser::getOnlineUsers();
     if (false === $clientList) {
         return false;
     }
     $this->_success($clientList);
 }
Esempio n. 2
0
 /**
  * 存储用户到在线列表
  * @param int $client_id
  * @param string $clientName
  */
 public static function addUserToOnlineList($clientId, $clientName)
 {
     $key = Storekey::USER_ONLINE_LIST;
     // 获取所有所有在线用户clientid--------------
     $allOnlineClientId = Gateway::getOnlineStatus();
     //获取存储中在线用户列表
     $clientList = Muser::getOnlineUsers();
     if (isset($clientList[$clientId])) {
         return true;
     }
     //是否允许多用户登录,剔除用户的clientid
     if (\Config\St\Status::NOT_ALLOW_CLIENTS) {
         self::notAllowMoreClient($clientList, $clientName);
     }
     // 将存储中不在线用户删除
     self::deleteOfflineUser($clientList, $allOnlineClientId);
     // 添加   时间默认是一天
     if (RedisModel::hashSet('webChat', $key, $clientId, $clientName)) {
         return true;
     }
     return false;
 }