(PECL event >= 1.2.6-beta)
EventHttp::bind — Lie un serveur HTTP sur une adresse et un port spécifiés
$address
,
int
$port
)Lie un serveur HTTP sur une adresse et un port spécifiés.
Peut être appelée plusieurs fois pour lier le même serveur HTTP sur plusieurs ports.
address
Une chaîne de caractères contenant l'adresse IP à écouter.
port
Le numéro de port sur lequel l'écoute s'effectuera.
Returns TRUE
on success. Otherwise FALSE
.
Exemple #1 Exemple avec 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("bind(1) a échoué\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
exit("bind(2) a échoué\n");
};
$http->setCallback("/about", function($req) {
echo "URI : ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
echo "OK\n";
});
$base->dispatch();
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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