Exemples

Exemple #1 Surveillance de STDIN en utilisant l'API basique

<?php

function print_line($fd, $events, $arg)
{
	static $max_requests = 0;

	$max_requests++;

	if ($max_requests == 10) {
		// Sort de la boucle après 10 écritures
		event_base_loopexit($arg[1]);
	}

	// Affiche la ligne
	echo  fgets($fd);
}

// Création de la base et de l'événement
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// Définit les drapeaux de l'événement
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// Définit la base de l'événement
event_base_set($event, $base);

// Activation de l'événement
event_add($event);
// Début de la boucle de l'événement
event_base_loop($base);

?>

Exemple #2 Surveillance de STDIN en utilisant l'API des événements mis en tampon

<?php

function print_line($buf, $arg)
{
	static $max_requests;

	$max_requests++;

	if ($max_requests == 10) {
		event_base_loopexit($arg);
	}

	// Affiche la ligne
	echo event_buffer_read($buf, 4096);
}

function error_func($buf, $what, $arg)
{
	// Gestion de l'erreur
}

$base = event_base_new();
$eb = event_buffer_new(STDIN, "print_line", NULL,  "error_func", $base);

event_buffer_base_set($eb,  $base);
event_buffer_enable($eb,  EV_READ);

event_base_loop($base);

?>

LoadingChargement en cours