当前位置: 首页>>代码示例>>PHP>>正文


PHP CakeSocket::read方法代码示例

本文整理汇总了PHP中CakeSocket::read方法的典型用法代码示例。如果您正苦于以下问题:PHP CakeSocket::read方法的具体用法?PHP CakeSocket::read怎么用?PHP CakeSocket::read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CakeSocket的用法示例。


在下文中一共展示了CakeSocket::read方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _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

示例2: 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

示例3: 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


注:本文中的CakeSocket::read方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。