PHP Doku:: Beispiele - libevent.examples.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-Startseite ≥ PHP-Handbuch ≥ Funktionsreferenz ≥ Erweiterungen zur Prozesskontrolle ≥ Libevent ≥ Beispiele

Ein Service von Reinhard Neidl - Webprogrammierung.

Libevent

<<Vordefinierte Konstanten

Libevent Funktionen>>

Beispiele

Beispiel #1 polling STDIN using basic API

<?php

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

    
$max_requests++;

    if (
$max_requests == 10) {
        
// exit loop after 10 writes
        
event_base_loopexit($arg[1]);
    }

    
// print the line
    
echo  fgets($fd);
}

// create base and event
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// set event flags
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// set event base
event_base_set($event, $base);

// enable event
event_add($event);
// start event loop
event_base_loop($base);

?>

Beispiel #2 polling STDIN using buffered event API

<?php

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

    
$max_requests++;

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

    
// print the line
    
echo event_buffer_read($buf, 4096);
}

function 
error_func($buf, $what, $arg)
{
    
// handle errors
}

$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);

?>


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)