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