Пример #1
0
 /**
  * Connects the AbstractTransport object and performs initial actions on the remote
  * server.
  *
  * @throws Ts3Exception
  * @return void
  */
 public function syn()
 {
     if (!isset($this->options["host"]) || empty($this->options["host"])) {
         $this->options["host"] = $this->default_host;
     }
     if (!isset($this->options["port"]) || empty($this->options["port"])) {
         $this->options["port"] = $this->default_port;
     }
     $this->initTransport($this->options, "UDP");
     $this->transport->setAdapter($this);
     Profiler::init(spl_object_hash($this));
     $this->getTransport()->send(String::fromHex(33));
     if (!preg_match_all("/,?(\\d+)#([0-9a-zA-Z\\._-]+),?/", $this->getTransport()->read(96), $matches) || !isset($matches[1]) || !isset($matches[2])) {
         throw new Ts3Exception("invalid reply from the server");
     }
     $this->build_datetimes = $matches[1];
     $this->version_strings = $matches[2];
     Signal::getInstance()->emit("updateConnected", $this);
 }
Пример #2
0
 /**
  * Deploys snapshot data on the selected virtual server. If no virtual server is selected (ID 0),
  * the data will be used to create a new virtual server from scratch.
  *
  * @param  string $data
  * @param  string $mode
  * @return array
  */
 public function snapshotDeploy($data, $mode = TeamSpeak3::SNAPSHOT_STRING)
 {
     switch ($mode) {
         case TeamSpeak3::SNAPSHOT_BASE64:
             $data = \TeamSpeak3\Helper\String::fromBase64($data);
             break;
         case TeamSpeak3::SNAPSHOT_HEXDEC:
             $data = \TeamSpeak3\Helper\String::fromHex($data);
             break;
         default:
             $data = \TeamSpeak3\Helper\String::factory($data);
             break;
     }
     $detail = $this->request("serversnapshotdeploy " . $data)->toList();
     if (array_key_exists("sid", $detail)) {
         \TeamSpeak3\Helper\Signal::getInstance()->emit("notifyServercreated", $this->getParent(), $detail["sid"]);
     }
     return $detail;
 }