与libevent的多进程php

| 我可以使用libevent制作一个简单的php websocket服务器,但是当我尝试使其进行多处理时,我陷入了困境。 例如这是单一处理
<?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);
    }
}
?> 
但是当我在函数ev_read中执行此操作时
     function ev_read($buffer, $id) {
            while ($read = event_buffer_read($buffer, 256)) {
    $pid = pcntl_fork();
        switch ($pid) {
        case -1: // Error
            die(\'Fork failed, your system is b0rked!\');
            break;
        case 0: // Child
                event_buffer_write($buffer,\"asdawdasd\");

        exit(0);
            break;


            }
   } }
它不发送数据... 那么,如何制作多处理php套接字服务器?     
已邀请:
尽管nanoserv是一个出色的库,但它不使用libevent。实际上,作者本人已在自己的博客中写道,他希望在某个时间点将nanoserv转换为使用libevent。在此处查看他的博客文章:http://blog.si.kz/index.php/2010/02/03/libevent-for-php Alix Axel在11年5月22日12:19也发表了评论。 更新:更多的研究使我进入了http://phpdaemon.net/。看来他们正在使用libevent来构建整个网络服务器主机     

要回复问题请先登录注册