public function open(array $options = []) {
		parent::open($options);
		$config = $this->_config;

		if (!$config['scheme'] || !$config['host']) {
			return false;
		}
		$scheme = ($config['scheme'] !== 'udp') ? 'tcp' : 'udp';
		$port = $config['port'] ?: 80;
		$host = "{$scheme}://{$config['host']}:{$port}";
		$flags = STREAM_CLIENT_CONNECT;

		if ($config['persistent']) {
			$flags = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT;
		}
		$errorCode = $errorMessage = null;
		$this->_resource = stream_socket_client(
			$host, $errorCode, $errorMessage, $config['timeout'], $flags
		);
		if ($errorCode || $errorMessage) {
			throw new NetworkException($errorMessage);
		}
		$this->timeout($config['timeout']);

		if (!empty($config['encoding'])) {
			$this->encoding($config['encoding']);
		}
		return $this->_resource;
	}
public function open(array $options = []) {
		parent::open($options);
		$config = $this->_config;

		if (!$config['scheme'] || !$config['host']) {
			return false;
		}
		$scheme = ($config['scheme'] !== 'udp') ? 'tcp' : 'udp';
		$port = $config['port'] ?: 80;
		$host = "{$scheme}://{$config['host']}:{$port}";
		$flags = STREAM_CLIENT_CONNECT;

		if ($config['persistent']) {
			$flags = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT;
		}
		$errorCode = $errorMessage = null;
		$this->_resource = stream_socket_client(
			$host, $errorCode, $errorMessage, $config['timeout'], $flags
		);
		if ($errorCode || $errorMessage) {
			throw new NetworkException($errorMessage);
		}
		$this->timeout($config['timeout']);

		if (!empty($config['encoding'])) {
			$this->encoding($config['encoding']);
		}
		return $this->_resource;
	}
public function open ( array $ options = [ ] ) { parent :: open ( $ options ) ; $ config = $ this -> _config ; if ( ! $ config [ 'scheme' ] || ! $ config [ 'host' ] ) { return false ; } $ scheme = ( $ config [ 'scheme' ] !== 'udp' ) ? 'tcp' : 'udp' ; $ port = $ config [ 'port' ] ? : 80 ; $ host = "{$scheme}://{$config['host']}:{$port}" ; $ flags = STREAM_CLIENT_CONNECT ; if ( $ config [ 'persistent' ] ) { $ flags = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT ; } $ errorCode = $ errorMessage = null ; $ this -> _resource = stream_socket_client ( $ host , $ errorCode , $ errorMessage , $ config [ 'timeout' ] , $ flags ) ; if ( $ errorCode || $ errorMessage ) { throw new NetworkException ( $ errorMessage ) ; } $ this -> timeout ( $ config [ 'timeout' ] ) ; if ( ! empty ( $ config [ 'encoding' ] ) ) { $ this -> encoding ( $ config [ 'encoding' ] ) ; } return $ this -> _resource ; }
Opens a socket and initializes the internal resource handle.

@param array $options update the config settings
@return mixed Returns `false` if the socket configuration does not contain the
`'scheme'` or `'host'` settings, or if configuration fails, otherwise returns a
resource stream. Throws exception if there is a network error.
Opens a socket and initializes the internal resource handle .