<?php require __DIR__ . '/../vendor/autoload.php'; $loop = React\EventLoop\Factory::create(); // start TCP/IP server on localhost:8080 // for illustration purposes only, should use react/socket instead $server = stream_socket_server('tcp://127.0.0.1:8080'); if (!$server) { exit(1); } stream_set_blocking($server, false); // wait for incoming connections on server socket $loop->addReadStream($server, function ($server) use ($loop) { $conn = stream_socket_accept($server); $data = "HTTP/1.1 200 OK\r\nContent-Length: 3\r\n\r\nHi\n"; $loop->addWriteStream($conn, function ($conn) use (&$data, $loop) { $written = fwrite($conn, $data); if ($written === strlen($data)) { fclose($conn); $loop->removeWriteStream($conn); } else { $data = substr($data, $written); } }); }); $loop->addPeriodicTimer(5, function () { $memory = memory_get_usage() / 1024; $formatted = number_format($memory, 3).'K'; echo "Current memory usage: {$formatted}\n"; }); $loop->run();
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
01-timers.php | File | 239 B | 0644 |
|
02-periodic.php | File | 315 B | 0644 |
|
03-ticks.php | File | 222 B | 0644 |
|
04-signals.php | File | 504 B | 0644 |
|
11-consume-stdin.php | File | 787 B | 0644 |
|
12-generate-yes.php | File | 1.3 KB | 0644 |
|
13-http-client-blocking.php | File | 822 B | 0644 |
|
14-http-client-async.php | File | 1.76 KB | 0644 |
|
21-http-server.php | File | 1.04 KB | 0644 |
|
91-benchmark-ticks.php | File | 250 B | 0644 |
|
92-benchmark-timers.php | File | 251 B | 0644 |
|
93-benchmark-ticks-delay.php | File | 396 B | 0644 |
|
94-benchmark-timers-delay.php | File | 396 B | 0644 |
|
95-benchmark-memory.php | File | 1.85 KB | 0644 |
|