clue / socket-react
Binding for raw sockets (ext-sockets) in reactphp
Installs: 1 471
Dependents: 2
Suggesters: 0
Security: 0
Stars: 21
Watchers: 3
Forks: 8
Open Issues: 5
Requires
- php: >=5.3
- clue/socket-raw: 1.* | 0.1.*
- evenement/evenement: 1.*
- react/datagram: ~1.0
- react/event-loop: >=0.2, <0.4
- react/promise: 1.*
- react/socket: >=0.2, <0.4
- react/stream: >=0.2, <0.4
README
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