Home

Awesome

clue/socket-react Build Status

Binding for raw sockets (ext-sockets) in React PHP.

Quickstart example

Once installed, you can use the following example to send UDP broadcast datagrams:

$loop = React\EventLoop\Factory::create();

$factory = new Socket\React\Datagram\Factory($loop);

$promise = $factory->createClient('udp://localhost:1337', array('broadcast' => true));
$promise->then(function (Socket\React\Datagram\Socket $socket) {
    $socket->send('test');

    $socket->on('message', function($data, $peer) {
        var_dump('Received', $data, 'from', $peer);
    });
});

$loop->run();

See also the examples.

Install

The recommended way to install this library is through composer. New to composer?

{
    "require": {
        "clue/socket-react": "~0.3.0"
    }
}

Tests

To run the test suite, you need PHPUnit. Go to the project root and run:

$ phpunit tests

Note: The test suite contains tests for ICMP sockets which require root access on unix/linux systems. Therefor some tests will be skipped unless you run sudo phpunit tests to execte the full test suite.

License

MIT