EventHttp::bind
(PECL event >= 1.2.6-beta)
EventHttp::bind — Привязывает HTTP-сервер к указанному адресу и порту
Описание
public
EventHttp::bind
(
string
$address
,
int
$port
) : voidПривязывает HTTP-сервер к указанному адресу и порту.
Может вызываться несколько раз для привязки одного и того же HTTP-сервера к нескольким разным портам.
Список параметров
-
address
-
Строка, содержащая IP-адрес для
прослушивания(2)
. -
port
-
Номер порта для прослушивания.
Возвращаемые значения
Возвращает true
в случае успешного выполнения, false
в противном случае.
Примеры
Пример #1 Пример использования EventHttp::bind()
<?php
$base = new EventBase();
$http = new EventHttp($base);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$http->bind("127.0.0.1", 8088)) {
exit("связать(1) не удалось\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
exit("связать(2) не удалось\n");
};
$http->setCallback("/about", function($req) {
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
echo "OK\n";
});
$base->dispatch();
?>
Результатом выполнения данного примера будет что-то подобное:
Client: $ nc 127.0.0.1 8088 GET /about HTTP/1.0 Connection: close HTTP/1.0 200 OK Content-Type: text/html; charset=ISO-8859-1 Connection: close $ nc 127.0.0.1 8089 GET /unknown HTTP/1.0 Connection: close HTTP/1.1 404 Not Found Content-Type: text/html Date: Wed, 13 Mar 2013 04:14:41 GMT Content-Length: 149 Connection: close <html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html> Server: URI: /about OK
Смотрите также
- EventHttp::accept() - Заставляет HTTP-сервер принимать соединения с указанным потоком сокета или ресурсом