PHP Classes

File: vendor/react/event-loop/examples/13-http-client-blocking.php

Recommend this page to a friend!
  Classes of Hillary Kollan   Chatto PHP Websocket Chat System   vendor/react/event-loop/examples/13-http-client-blocking.php   Download  
File: vendor/react/event-loop/examples/13-http-client-blocking.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Chatto PHP Websocket Chat System
Websocket based chat system using Ratchet library
Author: By
Last change:
Date: 3 years ago
Size: 822 bytes
 

Contents

Class file image Download
<?php

use React\EventLoop\Factory;

require
__DIR__ . '/../vendor/autoload.php';

$loop = Factory::create();

// connect to www.google.com:80 (blocking call!)
// for illustration purposes only, should use react/socket instead
$stream = stream_socket_client('tcp://www.google.com:80');
if (!
$stream) {
    exit(
1);
}
stream_set_blocking($stream, false);

// 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();