PHP 8.6.0 Beta 1 is available for testing

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bindПривязывает HTTP-сервер к указанному адресу и порту

Описание

public function 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: 2013年3月13日 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-сервер принимать соединения на заданном потоке сокета или ресурса

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /