EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bindLie un serveur HTTP sur une adresse et un port spécifiés

Description

public EventHttp::bind ( string $address , int $port ) : void

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.

Liste de paramètres

address

Une chaîne de caractères contenant l'adresse IP à écouter.

port

Le numéro de port sur lequel l'écoute s'effectuera.

Valeurs de retour

Returns TRUE on success. Otherwise FALSE.

Exemples

Exemple #1 Exemple avec EventHttp::bind()

<?php
$base 
= new EventBase();
$http = new EventHttp($base);

$socket socket_create(AF_INETSOCK_STREAMSOL_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

Voir aussi

  • EventHttp::accept() - Autorise un serveur HTTP à accepter les connexions sur le socket ou la ressource spécifiée