sessionDecode() public static method

解码session
public static sessionDecode ( string $session_buffer ) : mixed
$session_buffer string
return mixed
Example #1
0
 /**
  * 获取在线状态,目前返回一个在线client_id数组,client_id为key
  * @return array
  */
 public static function getALLClientInfo($group = null)
 {
     $gateway_data = GatewayProtocol::$empty;
     if (!$group) {
         $gateway_data['cmd'] = GatewayProtocol::CMD_GET_ALL_CLIENT_INFO;
     } else {
         $gateway_data['cmd'] = GatewayProtocol::CMD_GET_CLINET_INFO_BY_GROUP;
         $gateway_data['ext_data'] = $group;
     }
     $status_data = array();
     $all_buffer_array = self::getBufferFromAllGateway($gateway_data);
     foreach ($all_buffer_array as $local_ip => $buffer_array) {
         foreach ($buffer_array as $local_port => $buffer) {
             $data = json_decode(rtrim($buffer), true);
             if ($data) {
                 foreach ($data as $connection_id => $session_buffer) {
                     $status_data[Context::addressToClientId($local_ip, $local_port, $connection_id)] = $session_buffer ? Context::sessionDecode($session_buffer) : array();
                 }
             }
         }
     }
     return $status_data;
 }