(PECL event >= 1.2.6-beta)
EventListener::__construct — Crée un nouvel écouteur de connexion associé avec la base d'événement
$base
,$cb
,$data
,$flags
,$backlog
,$target
Crée un nouvel écouteur de connexion associé avec la base d'événement.
base
Base d'événement associée.
cb
Un callable qui sera invoqué lorsqu'une nouvelle connexion sera reçue.
data
Données utilisateur personnalisées attachées au paramètre cb
.
flags
Un masque de constantes EventListener::OPT_*
. Voir les constantes EventListener.
backlog
Contrôle le nombre maximal de connexions en attente que la pile réseau autorise à patienter dans un statut "non encore accepté" ; voir la documentation de la fonction listen
de votre système pour plus de détails. Si le paramètre backlog
est négatif, Libevent tente de récupérer une bonne valeur pour ce paramètre ; s'il vaut zéro, Event présume que la fonction système listen
a déjà été appelée sur le socket (target
).
target
Peut être une chaîne de caractères, une ressource de socket, ou un flux associé avec un socket. Dans le cas où ce paramètre est une chaîne de caractères, elle sera analysée comme adresse IP. Elle sera analysée comme sochet de domaine UNIX si elle est préfixée par 'unix:'
, par exemple, 'unix:/tmp/my.sock'
.
Version | Description |
---|---|
PECL event 1.5.0 | Le suppot des sockets de domaine UNIX a été ajouté. |
Exemple #1 Exemple avec EventListener::__construct()
<?php
class MyListenerConnection {
private $bev, $base;
public function __destruct() {
$this->bev->free();
}
public function __construct($base, $fd) {
$this->base = $base;
$this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);
$this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
array($this, "echoEventCallback"), NULL);
if (!$this->bev->enable(Event::READ)) {
echo "Impossible d'activer READ\n";
return;
}
}
public function echoReadCallback($bev, $ctx) {
// Copie toutes les données depuis le buffer d'entrée vers le buffer de sortie