_fp = stream_socket_client($Socket); if ($this->_fp === false) { throw new ClientException('Could not connect to socket "' . $Socket . '"'); } stream_set_timeout($this->_fp, 1); } public function __destruct() { fclose($this->_fp); } public function exec($command) { fwrite($this->_fp, str_replace("\n", '\n', $command) . PHP_EOL); $answer = fgets($this->_fp); if (is_string($answer)) { if (substr($answer, 0, 7) === 'ANSWER ') { $bytes = (int) substr($answer, 7); if ($bytes > 0) { $Response = trim(fread($this->_fp, $bytes + 1)); return $Response; } }elseif ($answer === PHP_EOL) { return true; } } return false; } }