diff options
Diffstat (limited to 'assets/php/vendor/react/event-loop/examples/14-http-client-async.php')
-rwxr-xr-x | assets/php/vendor/react/event-loop/examples/14-http-client-async.php | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/assets/php/vendor/react/event-loop/examples/14-http-client-async.php b/assets/php/vendor/react/event-loop/examples/14-http-client-async.php deleted file mode 100755 index c82c988..0000000 --- a/assets/php/vendor/react/event-loop/examples/14-http-client-async.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -use React\EventLoop\Factory; - -require __DIR__ . '/../vendor/autoload.php'; - -$loop = Factory::create(); - -// resolve hostname before establishing TCP/IP connection (resolving DNS is still blocking here) -// for illustration purposes only, should use react/socket or react/dns instead! -$ip = gethostbyname('www.google.com'); -if (ip2long($ip) === false) { - echo 'Unable to resolve hostname' . PHP_EOL; - exit(1); -} - -// establish TCP/IP connection (non-blocking) -// for illustraction purposes only, should use react/socket instead! -$stream = stream_socket_client('tcp://' . $ip . ':80', $errno, $errstr, null, STREAM_CLIENT_CONNECT | STREAM_CLIENT_ASYNC_CONNECT); -if (!$stream) { - exit(1); -} -stream_set_blocking($stream, false); - -// print progress every 10ms -echo 'Connecting'; -$timer = $loop->addPeriodicTimer(0.01, function () { - echo '.'; -}); - -// wait for connection success/error -$loop->addWriteStream($stream, function ($stream) use ($loop, $timer) { - $loop->removeWriteStream($stream); - $loop->cancelTimer($timer); - - // check for socket error (connection rejected) - if (stream_socket_get_name($stream, true) === false) { - echo '[unable to connect]' . PHP_EOL; - exit(1); - } else { - echo '[connected]' . PHP_EOL; - } - - // send HTTP request - fwrite($stream, "GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: close\r\n\r\n"); - - // wait for HTTP response - $loop->addReadStream($stream, function ($stream) use ($loop) { - $chunk = fread($stream, 64 * 1024); - - // reading nothing means we reached EOF - if ($chunk === '') { - echo '[END]' . PHP_EOL; - $loop->removeReadStream($stream); - fclose($stream); - return; - } - - echo $chunk; - }); -}); - -$loop->run(); |