Example #1
0
 /**
  * 获取与uid绑定的client_id列表
  * @param string $uid
  * @return array
  */
 public static function getClientIdByUid($uid)
 {
     $gateway_data = GatewayProtocol::$empty;
     $gateway_data['cmd'] = GatewayProtocol::CMD_GET_CLIENT_ID_BY_UID;
     $gateway_data['ext_data'] = $uid;
     $client_list = array();
     $all_buffer_array = self::getBufferFromAllGateway($gateway_data);
     foreach ($all_buffer_array as $local_ip => $buffer_array) {
         foreach ($buffer_array as $local_port => $buffer) {
             $connection_id_array = json_decode(rtrim($buffer), true);
             if ($connection_id_array) {
                 foreach ($connection_id_array as $connection_id) {
                     $client_list[] = Context::addressToClientId($local_ip, $local_port, $connection_id);
                 }
             }
         }
     }
     return $client_list;
 }