CakeFest 2024: The Official CakePHP Conference

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

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

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

Voir aussi

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

User Contributed Notes

There are no user contributed notes for this page.
To Top