aboutsummaryrefslogtreecommitdiffhomepage
path: root/assets/php/vendor/react/event-loop/examples/14-http-client-async.php
diff options
context:
space:
mode:
Diffstat (limited to 'assets/php/vendor/react/event-loop/examples/14-http-client-async.php')
-rwxr-xr-xassets/php/vendor/react/event-loop/examples/14-http-client-async.php63
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();