當前位置: 首頁>>代碼示例>>PHP>>正文


PHP CakeSocket類代碼示例

本文整理匯總了PHP中CakeSocket的典型用法代碼示例。如果您正苦於以下問題:PHP CakeSocket類的具體用法?PHP CakeSocket怎麽用?PHP CakeSocket使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了CakeSocket類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getWorkers

 /**
  * Получение списка worker-ов
  *
  * @param string $worker имя воркеров, параметры которого нам нужно получить
  * @return array массив доступных worker-ов с их загрузкой и тд
  */
 public function getWorkers($worker = null)
 {
     // получаем статистику по worker-ам
     \App::uses('CakeSocket', 'Network');
     $Socket = new \CakeSocket($this->_config['server']);
     $Socket->connect();
     $workers = array();
     // делаем 2 замера с интервалом в 1 секунду для получение точного результата
     for ($i = 0; $i <= 2; $i++) {
         $Socket->write("status\n");
         $content = $Socket->read(50000);
         $answers = explode("\n", trim($content));
         foreach ($answers as $string) {
             $temp = explode("\t", $string);
             $title = trim($temp[0]);
             if (strpos($title, 'restart') !== false || strpos($title, '.') !== false) {
                 continue;
             }
             if (!empty($workers[$title])) {
                 // тут нас интересует только макс. значение доступных worker-ов
                 $workers[$title][3] = intval($workers[$title][3]) < intval($temp[3]) ? $temp[3] : $workers[$title][3];
             } else {
                 $workers[$title] = $temp;
             }
         }
         sleep(1);
     }
     $Socket->disconnect();
     return $worker ? $workers[$worker] : $workers;
 }
開發者ID:pdedkov,項目名稱:cakephp-gearman,代碼行數:36,代碼來源:Manager.php

示例2: testReset

 /**
  * testReset method
  *
  * @return void
  */
 public function testReset()
 {
     $config = array('persistent' => true, 'host' => '127.0.0.1', 'protocol' => 'udp', 'port' => 80, 'timeout' => 20);
     $anotherSocket = new CakeSocket($config);
     $anotherSocket->reset();
     $this->assertEquals(array(), $anotherSocket->config);
 }
開發者ID:julkar9,項目名稱:gss,代碼行數:12,代碼來源:CakeSocketTest.php

示例3: testConnectProtocolInHost

 /**
  * Test that protocol in the host doesn't cause cert errors.
  *
  * @return void
  */
 public function testConnectProtocolInHost()
 {
     $this->skipIf(!extension_loaded('openssl'), 'OpenSSL is not enabled cannot test SSL.');
     $configSslTls = array('host' => 'ssl://smtp.gmail.com', 'port' => 465, 'timeout' => 5);
     $socket = new CakeSocket($configSslTls);
     try {
         $socket->connect();
         $this->assertEquals('smtp.gmail.com', $socket->config['host']);
         $this->assertEquals('ssl', $socket->config['protocol']);
     } catch (SocketException $e) {
         $this->markTestSkipped('Cannot test network, skipping.');
     }
 }
開發者ID:tcyyky,項目名稱:tel_practice_web,代碼行數:18,代碼來源:CakeSocketTest.php

示例4: _smtpSend

 /**
  * Protected method for sending data to SMTP connection
  *
  * @param string $data data to be sent to SMTP server
  * @param mixed $checkCode code to check for in server response, false to skip
  * @return void
  * @throws SocketException
  */
 protected function _smtpSend($data, $checkCode = '250')
 {
     if (!is_null($data)) {
         $this->_socket->write($data . "\r\n");
     }
     while ($checkCode !== false) {
         $response = '';
         $startTime = time();
         while (substr($response, -2) !== "\r\n" && time() - $startTime < $this->_config['timeout']) {
             $response .= $this->_socket->read();
         }
         if (substr($response, -2) !== "\r\n") {
             throw new SocketException(__d('cake_dev', 'SMTP timeout.'));
         }
         $responseLines = explode("\r\n", rtrim($response, "\r\n"));
         $response = end($responseLines);
         if (preg_match('/^(' . $checkCode . ')(.)/', $response, $code)) {
             if ($code[2] === '-') {
                 continue;
             }
             return $code[1];
         }
         throw new SocketException(__d('cake_dev', 'SMTP Error: %s', $response));
     }
 }
開發者ID:gilyaev,項目名稱:framework-bench,代碼行數:33,代碼來源:SmtpTransport.php

示例5: connect

 /**
  * Connect
  *
  * @param string $host
  * @param integer $port
  * @return FtpSocket
  */
 public function connect($host = null, $port = null)
 {
     if (isset($host)) {
         $this->config['host'] = $host;
     }
     if (isset($port)) {
         $this->config['port'] = $port;
     }
     parent::connect();
     return $this;
 }
開發者ID:fotografde,項目名稱:cakephp-ftp,代碼行數:18,代碼來源:FtpSocket.php

示例6: reset

 /**
  * Resets the state of this HttpSocket instance to it's initial state (before Object::__construct got executed) or does
  * the same thing partially for the request and the response property only.
  *
  * @param bool $full If set to false only HttpSocket::response and HttpSocket::request are reset
  * @return bool True on success
  */
 public function reset($full = true)
 {
     static $initalState = array();
     if (empty($initalState)) {
         $initalState = get_class_vars(__CLASS__);
     }
     if (!$full) {
         $this->request = $initalState['request'];
         $this->response = $initalState['response'];
         return true;
     }
     parent::reset($initalState);
     return true;
 }
開發者ID:mgoo,項目名稱:MovieServer,代碼行數:21,代碼來源:HttpSocket.php

示例7: write

 public function write($data, $method = false, $size = 1024)
 {
     $didWrite = parent::write($data . $this->eol);
     if ($didWrite && $size > 0) {
         if ($method && is_callable(array($this, '_' . $method))) {
             $data = parent::read($size, $method);
             $method = '_' . $method;
             return $this->{$method}($data);
         }
         return parent::read($size);
     }
     return $didWrite;
 }
開發者ID:nani8124,項目名稱:infinitas,代碼行數:13,代碼來源:EmailSocket.php

示例8: _disconnect

 /**
  * Disconnect
  *
  * @return void
  * @throws SocketException
  */
 protected function _disconnect()
 {
     $this->_smtpSend('QUIT', FALSE);
     $this->_socket->disconnect();
 }
開發者ID:mrbadao,項目名稱:api-official,代碼行數:11,代碼來源:SmtpTransport.php

示例9: array

 /**
  * Build an HTTP Socket using the specified configuration.
  *
  * @param array $config	Configuration
  */
 function __construct($config = array())
 {
     if (is_string($config)) {
         $this->configUri($config);
     } elseif (is_array($config)) {
         $this->config = Set::merge($this->config, $config);
     }
     parent::__construct($this->config);
 }
開發者ID:kaz0636,項目名稱:openflp,代碼行數:14,代碼來源:http_socket.php


注:本文中的CakeSocket類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。