• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP pfsockopen函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中pfsockopen函数的典型用法代码示例。如果您正苦于以下问题:PHP pfsockopen函数的具体用法?PHP pfsockopen怎么用?PHP pfsockopen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: flushReport

 public function flushReport($auth, $report)
 {
     if (is_null($auth) || is_null($report)) {
         if ($this->_verbose > 0) {
             error_log("Auth or report not set.");
         }
         return null;
     }
     if ($this->_verbose >= 3) {
         var_dump($report);
     }
     $content = json_encode($report);
     $content = gzencode($content);
     $header = "Host: " . $this->_host . "\r\n";
     $header .= "User-Agent: LightStep-PHP\r\n";
     $header .= "LightStep-Access-Token: " . $auth->access_token . "\r\n";
     $header .= "Content-Type: application/json\r\n";
     $header .= "Content-Length: " . strlen($content) . "\r\n";
     $header .= "Content-Encoding: gzip\r\n";
     $header .= "Connection: keep-alive\r\n\r\n";
     // Use a persistent connection when possible
     $fp = @pfsockopen($this->_host, $this->_port, $errno, $errstr);
     if (!$fp) {
         if ($this->_verbose > 0) {
             error_log($errstr);
         }
         return null;
     }
     @fwrite($fp, "POST /api/v0/reports HTTP/1.1\r\n");
     @fwrite($fp, $header . $content);
     @fflush($fp);
     @fclose($fp);
     return null;
 }
开发者ID:lightstep,项目名称:lightstep-tracer-php,代码行数:34,代码来源:TransportHTTPJSON.php


示例2: _checkConnection

 protected function _checkConnection($host, $port)
 {
     $fp = @pfsockopen($host, $port);
     if (!$fp) {
         $this->markTestSkipped('Connection to ' . $host . ':' . $port . ' failed');
     }
 }
开发者ID:vadd,项目名称:Elastica,代码行数:7,代码来源:Base.php


示例3: connectSocket

 protected function connectSocket()
 {
     if (filter_var($this->host, FILTER_VALIDATE_IP)) {
         $ip = $this->host;
     } else {
         $ip = gethostbyname($this->host);
         if ($ip == $this->host) {
             throw new MongoConnectionException(sprintf('couldn\'t get host info for %s', $this->host));
         }
     }
     // For some reason, PHP doesn't currently allow resources opened with
     // fsockopen/pfsockopen to be used with socket_* functions, but HHVM does.
     if (defined('HHVM_VERSION')) {
         $this->socket = pfsockopen($ip, $this->port, $errno, $errstr, $this->connectTimeoutMS / 1000);
         if ($this->socket === false) {
             $this->socket = null;
             throw new MongoConnectionException(sprintf("unable to connect to {$ip}:{$this->port} because: %s", "{$errstr} ({$errno})"));
         }
     } else {
         $this->socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp"));
         if (!$this->socket) {
             throw new MongoConnectionException(sprintf('error creating socket: %s', socket_strerror(socket_last_error())));
         }
         $connected = socket_connect($this->socket, $ip, $this->port);
         if (!$connected) {
             throw new MongoConnectionException(sprintf("unable to connect to {$ip}:{$this->port} because: %s", socket_strerror(socket_last_error())));
         }
     }
 }
开发者ID:Wynncraft,项目名称:mongofill,代码行数:29,代码来源:Socket.php


示例4: do_post_request

 function do_post_request($url, $data, $optional_headers = null)
 {
     $start = strpos($url, '//') + 2;
     $end = strpos($url, '/', $start);
     $host = substr($url, $start, $end - $start);
     $domain = substr($url, $end);
     $fp = pfsockopen($host, 80);
     if (!$fp) {
         return null;
     }
     fputs($fp, "POST {$domain} HTTP/1.1\n");
     fputs($fp, "Host: {$host}\n");
     if ($optional_headers) {
         fputs($fp, $optional_headers);
     }
     fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
     fputs($fp, "Content-length: " . strlen($data) . "\n\n");
     fputs($fp, "{$data}\n\n");
     $response = "";
     while (!feof($fp)) {
         $response .= fgets($fp, 1024);
     }
     fclose($fp);
     return $response;
     /*
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url . $data);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
     curl_setopt($ch, CURLOPT_TIMEOUT, 2);
     $response = curl_exec($ch);
     curl_close($ch);
     */
 }
开发者ID:xxxtj,项目名称:code,代码行数:35,代码来源:cron_job.php


示例5: createSocket

 private function createSocket()
 {
     if ($this->socket_failed) {
         return false;
     }
     $protocol = $this->ssl() ? "ssl" : "tcp";
     $host = $this->options["host"];
     $port = $this->ssl() ? 443 : 80;
     $timeout = $this->options["timeout"];
     try {
         # Open our socket to the API Server.
         # Since we're try catch'ing prevent PHP logs.
         $socket = @pfsockopen($protocol . "://" . $host, $port, $errno, $errstr, $timeout);
         # If we couldn't open the socket, handle the error.
         if ($errno != 0) {
             $this->handleError($errno, $errstr);
             $this->socket_failed = true;
             return false;
         }
         return $socket;
     } catch (Exception $e) {
         $this->handleError($e->getCode(), $e->getMessage());
         $this->socket_failed = true;
         return false;
     }
 }
开发者ID:smatyas,项目名称:analytics-php,代码行数:26,代码来源:Socket.php


示例6: psocket

 public function psocket(string $host, int $port = -1, int $timeout = 60)
 {
     $socket = pfsockopen($this->cleanHttp($host), $port, $errno, $errstr, $timeout);
     if (!empty($errno)) {
         throw new SocketException($errno . '-' . $errstr);
     }
     return $socket;
 }
开发者ID:znframework,项目名称:znframework,代码行数:8,代码来源:InternalNet.php


示例7: fsockopen

 public function fsockopen($hostname, $port = -1, &$errno = null, &$errstr = null, $timeout = null, $persistent = false)
 {
     if ($persistent) {
         return @pfsockopen($hostname, $port, $errno, $errstr, $timeout);
     } else {
         return @fsockopen($hostname, $port, $errno, $errstr, $timeout);
     }
 }
开发者ID:pentium10,项目名称:pheanstalk,代码行数:8,代码来源:StreamFunctions.php


示例8: __construct

 /**
  * Opens a persistant socket connection
  */
 public function __construct($config)
 {
     // Connect
     if (!(static::$socket = pfsockopen($config['ip'], $config['port'], $errno, $errstr, 30))) {
         throw new Exception("Unable to connect to " . $config['ip'] . ' on port ' . $config['port']);
     }
     // FuelPHP logger
     @\Log::debug('SOCKET OPEN');
 }
开发者ID:codechap,项目名称:aeon,代码行数:12,代码来源:Socket.php


示例9: _connect

 public function _connect()
 {
     $this->_socket = @pfsockopen($this->_host, $this->_port, $errno, $errstr, $this->_timeout);
     if ($this->_socket === false) {
         return new PHPTCP_Error($errno, $errstr);
     }
     stream_set_write_buffer($this->_socket, 0);
     socket_set_timeout($this->_socket, $this->_timeout);
 }
开发者ID:huangwei2wei,项目名称:kfxt,代码行数:9,代码来源:TcpInterfack.class.php


示例10: connect

 /**
  * connect to statsd service
  */
 protected function connect()
 {
     $errno = null;
     $errstr = null;
     if ($this->_persistent) {
         $this->_socket = pfsockopen(sprintf("udp://%s", $this->_host), $this->_port, $errno, $errstr, $this->_timeout);
     } else {
         $this->_socket = fsockopen(sprintf("udp://%s", $this->_host), $this->_port, $errno, $errstr, $this->_timeout);
     }
 }
开发者ID:risyasin,项目名称:webpagetest,代码行数:13,代码来源:Socket.php


示例11: jfsockopen

 function jfsockopen($hostname, $port, $errno, $errstr, $timeout)
 {
     $fp = false;
     if (function_exists('fsockopen')) {
         @($fp = fsockopen($hostname, $port, $errno, $errstr, $timeout));
     } elseif (function_exists('pfsockopen')) {
         @($fp = pfsockopen($hostname, $port, $errno, $errstr, $timeout));
     }
     return $fp;
 }
开发者ID:YouthAndra,项目名称:huaitaoo2o,代码行数:10,代码来源:global.func.php


示例12: _connect

 /**
  *
  * @throws StreamException
  * @return resource
  */
 protected function _connect()
 {
     if (!empty($this->_stream)) {
         return $this->_stream;
     }
     $this->_stream = $this->_options['persistent'] ? pfsockopen($this->_options['host'], $this->_options['port'], $errorCode, $errorMessage, $this->_options['connectTimeout']) : fsockopen($this->_options['host'], $this->_options['port'], $errorCode, $errorMessage, $this->_options['connectTimeout']);
     if ($this->_stream === false) {
         throw new StreamException($errorMessage, $errorCode);
     }
     stream_set_timeout($this->_stream, $this->_options['timeout']);
 }
开发者ID:PubGrade,项目名称:php-cassandra,代码行数:16,代码来源:Stream.php


示例13: connect

 /**
  * @param string $host
  * @param int $port
  * @param int|null $timeout
  * @param bool $persistent
  */
 protected function connect($host, $port, $timeout, $persistent)
 {
     $errorNumber = null;
     $errorMessage = null;
     $url = sprintf("tcp://%s", $host);
     if ($persistent) {
         $this->socket = pfsockopen($url, $port, $errorNumber, $errorMessage, $timeout);
     } else {
         $this->socket = fsockopen($url, $port, $errorNumber, $errorMessage, $timeout);
     }
 }
开发者ID:mike-marcacci,项目名称:statsd-php,代码行数:17,代码来源:TcpSocket.php


示例14: post

 function post($data, $url = '')
 {
     if ($url == '') {
         $url = $this->rest_endpoint;
     }
     if (!preg_match("|https://(.*?)(/.*)|", $url, $matches)) {
         die('There was some problem figuring out your endpoint');
     }
     if (function_exists('curl_init')) {
         $curl = curl_init($url);
         curl_setopt($curl, CURLOPT_POST, true);
         curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
         $response = curl_exec($curl);
         curl_close($curl);
     } else {
         foreach ($data as $key => $value) {
             $data[$key] = $key . '=' . urlencode($value);
         }
         $data = implode('&', $data);
         $fp = @pfsockopen($matches[1], 80);
         if (!$fp) {
             die('Could not connect to the web service');
         }
         fputs($fp, 'POST ' . $matches[2] . " HTTP/1.1\n");
         fputs($fp, 'Host: ' . $matches[1] . "\n");
         fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
         fputs($fp, "Content-length: " . strlen($data) . "\n");
         fputs($fp, "Connection: close\r\n\r\n");
         fputs($fp, $data . "\n\n");
         $response = "";
         while (!feof($fp)) {
             $response .= fgets($fp, 1024);
         }
         fclose($fp);
         $chunked = false;
         $http_status = trim(substr($response, 0, strpos($response, "\n")));
         if ($http_status != 'HTTP/1.1 200 OK') {
             die('The web service endpoint returned a "' . $http_status . '" response');
         }
         if (strpos($response, 'Transfer-Encoding: chunked') !== false) {
             $temp = trim(strstr($response, "\r\n\r\n"));
             $response = '';
             $length = trim(substr($temp, 0, strpos($temp, "\r")));
             while (trim($temp) != "0" && ($length = trim(substr($temp, 0, strpos($temp, "\r")))) != "0") {
                 $response .= trim(substr($temp, strlen($length) + 2, hexdec($length)));
                 $temp = trim(substr($temp, strlen($length) + 2 + hexdec($length)));
             }
         } elseif (strpos($response, 'HTTP/1.1 200 OK') !== false) {
             $response = trim(strstr($response, "\r\n\r\n"));
         }
     }
     return $response;
 }
开发者ID:yszar,项目名称:linuxwp,代码行数:54,代码来源:wp-autopost-utility-class.php


示例15: connect

 public function connect($host)
 {
     if (!$this->socket) {
         $this->socket = @pfsockopen($host, $this->defaultPort, $errno, $errstr);
         if (!$this->socket || $errno > 0) {
             return false;
         } else {
             return $this;
         }
     }
     return $this;
 }
开发者ID:exchangecore,项目名称:webprint,代码行数:12,代码来源:NetworkPrinter.php


示例16: pfsockopen_random_port

function pfsockopen_random_port(&$fsock, $address)
{
    $fsock = false;
    for ($i = 0; $i < 100; $i++) {
        $port = get_random_port();
        $fsock = @pfsockopen($address, $port);
        if ($fsock !== false) {
            return $port;
        }
    }
    return 0;
}
开发者ID:badlamer,项目名称:hhvm,代码行数:12,代码来源:ext_socket.php


示例17: fsocketopen

 function fsocketopen($hostname, $port = 80, &$errno, &$errstr, $timeout = 15)
 {
     $fp = '';
     if (function_exists('fsockopen')) {
         $fp = @fsockopen($hostname, $port, $errno, $errstr, $timeout);
     } elseif (function_exists('pfsockopen')) {
         $fp = @pfsockopen($hostname, $port, $errno, $errstr, $timeout);
     } elseif (function_exists('stream_socket_client')) {
         $fp = @stream_socket_client($hostname . ':' . $port, $errno, $errstr, $timeout);
     }
     return $fp;
 }
开发者ID:HelloMrShu,项目名称:yii2-ucenter,代码行数:12,代码来源:UC.php


示例18: create_socket

 private function create_socket()
 {
     try {
         $socket = pfsockopen("ssl://typekit.com", 443, $errno, $errstr, $this->timeout);
         if ($errno != 0) {
             return false;
         }
         return $socket;
     } catch (Exception $e) {
         return false;
     }
 }
开发者ID:charygao,项目名称:csszengarden.com,代码行数:12,代码来源:typekit-client.php


示例19: __construct

 public function __construct($hostname = "localhost", $port = "2088")
 {
     //        if (!is_array(self::$_connections)) {
     //            self::$_connections = array();
     //        }
     //        if (empty(self::$_connections[self::$_currentConnIndex])) {
     //            self::$_connections[self::$_currentConnIndex] = fsockopen($hostname, $port);
     //        }
     //        self::$_currentConnIndex = self::$_currentConnIndex % 4;
     //        $connection = self::$_connections[self::$_currentConnIndex];
     //        self::$_currentConnIndex++;
     //        $this->_conn = $connection;
     $this->_conn = pfsockopen($hostname, $port);
 }
开发者ID:anht37,项目名称:winelover_server,代码行数:14,代码来源:TcpConnetion.php


示例20: open

 /**
  * @param string $hostname
  * @param int    $port    [optional]
  * @param int    $errno   [optional]
  * @param string $errstr  [optional]
  * @param float  $timeout [optional]
  *
  * @return resource
  */
 public function open($hostname, $port = null, &$errno = null, &$errstr = null, $timeout = null)
 {
     switch (func_num_args()) {
         case 1:
             return pfsockopen($hostname);
         case 2:
             return pfsockopen($hostname, $port);
         case 3:
             return pfsockopen($hostname, $port, $errno);
         case 4:
             return pfsockopen($hostname, $port, $errno, $errstr);
         default:
             return pfsockopen($hostname, $port, $errno, $errstr, $timeout);
     }
 }
开发者ID:jaczkog,项目名称:json-rpc,代码行数:24,代码来源:Socket.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP pg_Connect函数代码示例发布时间:2022-05-15
下一篇:
PHP pfSense_ipfw_getTablestats函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap