Пример #1
0
 /**
  * @param $serv
  * @param $fd
  * @param $from_id
  * @param $data
  */
 function onPackage(\swoole_server $serv, $fd, $from_id, $data)
 {
     $conn = $serv->connection_info($fd, $from_id);
     if ($conn['from_port'] == self::SVR_PORT_LOG) {
         $pkg = unpack('Nmodule_id/Ninterface_id/Nspecial_id/Nuser_id/Clevel/Ntime', $data);
         if ($pkg == false) {
             $this->log("error package. data" . $data);
             return;
         }
         $pkg['client_ip'] = $conn['remote_ip'];
         $pkg['txt'] = substr($data, 21);
         $tmp = $pkg;
         $tmp['cmd'] = 'server';
         $this->cli->send(json_encode($tmp));
         $this->redis->sAdd($pkg['module_id'] . "_" . $pkg['interface_id'], $pkg['client_ip']);
         if (time() >= strtotime($this->tomorrow . ' ' . '00:00:00')) {
             $this->log_table = 'logs_' . $this->tomorrow;
         }
         table($this->log_table)->put($pkg);
     }
 }