Workerman\Connection\AsyncTcpConnection::__construct PHP Метод

__construct() публичный Метод

Construct.
public __construct ( string $remote_address, array $context_option = null )
$remote_address string
$context_option array
    public function __construct($remote_address, $context_option = null)
    {
        $address_info = parse_url($remote_address);
        if (!$address_info) {
            echo new \Exception('bad remote_address');
            $this->_remoteAddress = $remote_address;
        } else {
            if (!isset($address_info['port'])) {
                $address_info['port'] = 80;
            }
            if (!isset($address_info['path'])) {
                $address_info['path'] = '/';
            }
            if (!isset($address_info['query'])) {
                $address_info['query'] = '';
            } else {
                $address_info['query'] = '?' . $address_info['query'];
            }
            $this->_remoteAddress = "{$address_info['host']}:{$address_info['port']}";
            $this->_remoteHost = $address_info['host'];
            $this->_remoteURI = "{$address_info['path']}{$address_info['query']}";
            $scheme = isset($address_info['scheme']) ? $address_info['scheme'] : 'tcp';
        }
        $this->id = self::$_idRecorder++;
        // Check application layer protocol class.
        if (!isset(self::$_builtinTransports[$scheme])) {
            $scheme = ucfirst($scheme);
            $this->protocol = '\\Protocols\\' . $scheme;
            if (!class_exists($this->protocol)) {
                $this->protocol = "\\Workerman\\Protocols\\{$scheme}";
                if (!class_exists($this->protocol)) {
                    throw new Exception("class \\Protocols\\{$scheme} not exist");
                }
            }
        } else {
            $this->transport = self::$_builtinTransports[$scheme];
        }
        // For statistics.
        self::$statistics['connection_count']++;
        $this->maxSendBufferSize = self::$defaultMaxSendBufferSize;
        $this->_contextOption = $context_option;
    }