EventBufferEvent::connectHost
(PECL event >= 1.2.6-beta)
EventBufferEvent::connectHost — Підключається на ім'я хоста з можливістю асинхронного дозволу DNS
Опис
public
EventBufferEvent::connectHost(
EventDnsBase
$dns_base
,
string
$hostname
,
int
$port
,
int
$family
= EventUtil::AF_UNSPEC
): bool
Разрешает имя хоста DNS-имени, ища адреса типаfamily
(Константи EventUtil::AF_*
). Якщо дозвіл імені не вдалося зробити, викликає callback-функцію події з подією помилки. У разі успішного виконання робить спробу підключення так само, як EventBufferEvent::connect()
Параметрdns_base
не є обов'язковим. Він може мати значення null
або посилатися на об'єкт, створений за допомогою EventDnsBase::__construct(). Для асинхронного дозволу імені хоста необхідно передати дійсний базовий ресурс події DNS. В іншому випадку дозвіл імені хоста буде заблоковано.
Зауваження :
EventDnsBase доступний, тільки якщо
Event
налаштований з --with-event-extra(библиотекаevent_extra
підтримка функцій протоколу libevent, включаючи HTTP, DNS та RPC
Зауваження :
EventBufferEvent::connectHost() вимагає
libevent-2.0.3-alpha
або вище.
Список параметрів
dns_base
Об'єкт EventDnsBase у випадку, якщо DNS потрібно дозволити асинхронно . null
в іншому випадку.
hostname
Ім'я хоста для підключення. Формати, що розпізнаються:
www.example.com(hostname) 1.2.3.4 (ipv4address) ::1 (ipv6address)[::1] [ipv6address]) .
port
Номер порту.
family
Семейство адресов**EventUtil::AF_UNSPEC
** **EventUtil::AF_INET
** або **EventUtil::AF_INET6
**Обратитесь к спискуконстант EventUtil
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
Приклади
Приклад #1Приклад використання EventBufferEvent::connectHost()****
Loading...
Висновок наведеного прикладу буде схожим на:
Connected.
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>
Closing
Done
Дивіться також
- EventBufferEvent::connect() - Підключає файловий дескриптор події буфера до вказаної адреси або сокету UNIX