(PECL event >= 1.2.6-beta)
EventHttp::bind — Lie un serveur HTTP sur une adresse et un port spécifiés
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.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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();
?>
Résultat de l'exemple ci-dessus est 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