1
1
# clue/reactphp-multicast
2
2
3
- [ ![ CI status] ( https://github.com/clue/reactphp-multicast/workflows/CI /badge.svg )] ( https://github.com/clue/reactphp-multicast/actions )
3
+ [ ![ CI status] ( https://github.com/clue/reactphp-multicast/actions/ workflows/ci.yml /badge.svg )] ( https://github.com/clue/reactphp-multicast/actions )
4
4
[ ![ installs on Packagist] ( https://img.shields.io/packagist/dt/clue/multicast-react?color=blue&label=installs%20on%20Packagist )] ( https://packagist.org/packages/clue/multicast-react )
5
5
6
6
Simple, event-driven multicast UDP message client and server for [ ReactPHP] ( https://reactphp.org/ ) .
@@ -41,6 +41,10 @@ Once [installed](#install), you can use the following code to create a simple
41
41
echo server that listens for incoming multicast messages:
42
42
43
43
``` php
44
+ <?php
45
+
46
+ require __DIR__ . '/vendor/autoload.php';
47
+
44
48
$factory = new Clue\React\Multicast\Factory();
45
49
$socket = $factory->createReceiver('224.10.20.30:4050');
46
50
@@ -51,7 +55,7 @@ $socket->on('message', function ($data, $remote) use ($socket) {
51
55
52
56
```
53
57
54
- See also the [ examples] ( examples ) .
58
+ See also the [ examples] ( examples/ ) .
55
59
56
60
## Usage
57
61
@@ -108,13 +112,12 @@ $socket->on('message', function ($data, $remote) use ($socket) {
108
112
});
109
113
```
110
114
111
- This method requires PHP 5.4 (or up) and ` ext-sockets ` .
115
+ This method requires PHP 5.4+ and ` ext-sockets ` .
112
116
Otherwise, it will throw a ` BadMethodCallException ` .
113
117
This is a requirement because receiving multicast datagrams requires a
114
118
[ level 2 multicast conformant] ( https://www.tldp.org/HOWTO/Multicast-HOWTO-2.html#ss2.2 )
115
119
socket API.
116
- The required multicast socket options and constants have been added with
117
- [ PHP 5.4] ( http://php.net/manual/en/migration54.global-constants.php ) (and up).
120
+ The required multicast socket options and constants have been added with PHP 5.4+.
118
121
These options are only available to the low level socket API (ext-sockets), not
119
122
to the newer stream based networking API.
120
123
@@ -147,22 +150,22 @@ Please refer to the [datagram documentation](https://github.com/reactphp/datagra
147
150
148
151
## Install
149
152
150
- The recommended way to install this library is [ through Composer] ( https://getcomposer.org ) .
153
+ The recommended way to install this library is [ through Composer] ( https://getcomposer.org/ ) .
151
154
[ New to Composer?] ( https://getcomposer.org/doc/00-intro.md )
152
155
153
156
This project follows [ SemVer] ( https://semver.org/ ) .
154
157
This will install the latest supported version:
155
158
156
159
``` bash
157
- $ composer require clue/multicast-react:^1.1
160
+ composer require clue/multicast-react:^1.1
158
161
```
159
162
160
163
See also the [ CHANGELOG] ( CHANGELOG.md ) for details about version upgrades.
161
164
162
165
This project aims to run on any platform and thus does not require any PHP
163
166
extensions and supports running on legacy PHP 5.3 through current PHP 8+ and
164
167
HHVM.
165
- It's * highly recommended to use PHP 7+ * for this project.
168
+ It's * highly recommended to use the latest supported PHP version * for this project.
166
169
167
170
The [ ` createSender() ` ] ( #createsender ) method works on all supported platforms
168
171
without any additional requirements. However, the [ ` createReceiver() ` ] ( #createreceiver )
@@ -171,16 +174,16 @@ method requires PHP 5.4 (or up) and `ext-sockets`. See above for more details.
171
174
## Tests
172
175
173
176
To run the test suite, you first need to clone this repo and then install all
174
- dependencies [ through Composer] ( https://getcomposer.org ) :
177
+ dependencies [ through Composer] ( https://getcomposer.org/ ) :
175
178
176
179
``` bash
177
- $ composer install
180
+ composer install
178
181
```
179
182
180
183
To run the test suite, go to the project root and run:
181
184
182
185
``` bash
183
- $ php vendor/bin/phpunit
186
+ php vendor/bin/phpunit
184
187
```
185
188
186
189
## License
0 commit comments