EventBufferEvent::connectHost
En esta página
EventBufferEvent::connectHost
Conexión a un host con resolución de DNS asíncrona (opcional)
Descripción#
public EventBufferEvent::connectHost(EventDnsBase $dns_base, string $hostname, int $port, [int $family]): bool
```php
Resuelve el nombre de host DNS, buscando la dirección del tipo `family` (constante `EventUtil::AF_*`). Si la resolución del nombre falla, la función de retrollamada del evento será llamada con un evento de error. Si la resolución tiene éxito, se realizará un intento de conexión, de manera similar a como lo hace el método EventBufferEvent::connect.
El parámetro `dns_base` es opcional. Puede ser `null`, o bien un objeto creado con el método EventDnsBase::\_\_construct. Para una resolución de nombre de host asíncrona, pase una fuente de evento de base DNS válida. De lo contrario, la resolución del nombre de host será bloqueante.
> [!NOTE]
> `EventDnsBase` solo está disponible si `Event` está configurado con la opción `--with-event-extra` (biblioteca `event_extra`, *el soporte de las funcionalidades específicas de libevent incluyendo HTTP, DNS y RPC*).
> [!NOTE]
> EventBufferEvent::connectHost requiere `libevent-2.0.3-alpha` o posteriores.
## Parámetros
`dns_base`
Objeto `EventDnsBase` en el caso donde el DNS debe ser resuelto de manera asíncrona. De lo contrario, `null`.
`hostname`
El nombre de host al cual se intenta realizar la conexión. Los formatos reconocidos son:
www.example.com (hostname)
1.2.3.4 (ipv4address)
::1 (ipv6address)
[::1] ([ipv6address])
`port`
El número del puerto
`family`
Familia de la dirección. `EventUtil::AF_UNSPEC`, `EventUtil::AF_INET` o `EventUtil::AF_INET6`. Ver las [constantes EventUtil](#eventutil.constants).
## Valores devueltos
Esta función retorna `true` en caso de éxito o `false` si ocurre un error.
## Ejemplos
Ejemplo con `EventBufferEvent::connectHost`
```php
Resultado del ejemplo anterior es similar a:
Conectado.
HTTP/1.0 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; charset=UTF-8
Date: Sat, 09 Mar 2013 12:21:19 GMT
Expires: Mon, 08 Apr 2013 12:21:19 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Cerrando
Hecho !
Véase también#
EventBufferEvent::connect