예제 #1
0
파일: buffer.php 프로젝트: zzjin/swoole-src
    //buffer不存在
    if (!$buffer) {
        $buffer = new swoole_buffer();
        $serv->set_buffer($fd, $buffer);
    }
    //等待所有数据,将不会再通知
    $buffer->wait($size);
    //写入到buffer中
    $buffer->write($data);
    //从缓存区中读取数据
    $buffer->read(8192, 0);
    //清空数据
    $buffer->clear();
    //释放此buffer内存
    $buffer->free();
    //缓存区长度
    $buffer->length();
    //投递此数据到worker进程,并清理此buffer
    $serv->dispatch($buffer, $worker_id);
    $serv->send($fd, "hello world");
    $serv->close($fd);
});
$serv->on('receive', function (swoole_server $serv, $fd, $from_id, $data) {
    //echo "[#".posix_getpid()."]\tClient[$fd]: $data\n";
    $serv->send($fd, json_encode(array("hello" => '1213', "bat" => "ab")));
    //$serv->close($fd);
});
$serv->on('close', function ($serv, $fd, $from_id) {
    //echo "[#".posix_getpid()."]\tClient@[$fd:$from_id]: Close.\n";
});
$serv->start();