note 99127 added to libevent.examples

From: Date: Thu, 29 Jul 2010 12:23:13 +0000
Subject: note 99127 added to libevent.examples
Groups: php.notes 
Request: Send a blank email to php-notes+get-171201@lists.php.net to get a copy of this message
Server example: <?php $socket = stream_socket_server ('tcp://0.0.0.0:2000', $errno, $errstr); stream_set_blocking($socket, 0); $base = event_base_new(); $event = event_new(); event_set($event, $socket, EV_READ | EV_PERSIST, 'ev_accept', $base); event_base_set($event, $base); event_add($event); event_base_loop($base); $GLOBALS['connections'] = array(); $GLOBALS['buffers'] = array(); function ev_accept($socket, $flag, $base) { static $id = 0; $connection = stream_socket_accept($socket); stream_set_blocking($connection, 0); $id += 1; $buffer = event_buffer_new($connection, 'ev_read', NULL, 'ev_error', $id); event_buffer_base_set($buffer, $base); event_buffer_timeout_set($buffer, 30, 30); event_buffer_watermark_set($buffer, EV_READ, 0, 0xffffff); event_buffer_priority_set($buffer, 10); event_buffer_enable($buffer, EV_READ | EV_PERSIST); // we need to save both buffer and connection outside $GLOBALS['connections'][$id] = $connection; $GLOBALS['buffers'][$id] = $buffer; } function ev_error($buffer, $error, $id) { event_buffer_disable($GLOBALS['buffers'][$id], EV_READ | EV_WRITE); event_buffer_free($GLOBALS['buffers'][$id]); fclose($GLOBALS['connections'][$id]); unset($GLOBALS['buffers'][$id], $GLOBALS['connections'][$id]); } function ev_read($buffer, $id) { while ($read = event_buffer_read($buffer, 256)) { var_dump($read); } } ?> ---- Server IP: 69.147.83.197 Probable Submitter: 220.102.56.29 ---- Manual Page -- http://www.php.net/manual/en/libevent.examples.php Edit -- https://master.php.net/note/edit/99127 Del: integrated -- https://master.php.net/note/delete/99127/integrated Del: useless -- https://master.php.net/note/delete/99127/useless Del: bad code -- https://master.php.net/note/delete/99127/bad+code Del: spam -- https://master.php.net/note/delete/99127/spam Del: non-english -- https://master.php.net/note/delete/99127/non-english Del: in docs -- https://master.php.net/note/delete/99127/in+docs Del: other reasons-- https://master.php.net/note/delete/99127 Reject -- https://master.php.net/note/reject/99127 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#171201) next »