Всем привет.
Никак не могу понять суть этой библиотеки. Загрузил компонент reactphp/http, взял пример простого http сервера у них с github:
<?php
require '../vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket);
$http->on('request', function ($request, $response) {
sleep(10);
$response->writeHead(200, array('Content-Type' => 'text/plain'));
$response->end("Hello World!\n");
});
$socket->listen(1337);
$loop->run();
Добавил sleep перед ответом. Запустил одновременно два запроса и выполнились они друг за другом - общее время выполнения 20 сек. То есть никакой асинхронности нет. В чем смысл библиотеки? Где она полезна? Если любой долгий запрос к базе заблокирует всех клиентов.
Может кто-то объяснить когда и для чего используется эта библиотека?