# IPC [![Continuous Integration](https://github.com/danog/ipc/actions/workflows/ci.yml/badge.svg)](https://github.com/danog/ipc/actions/workflows/ci.yml) ![License](https://img.shields.io/badge/license-MIT-blue.svg) `danog/ipc` provides an async IPC server. ## Installation ```bash composer require danog/ipc ``` ## Example Server: ```php receive()) { echo "Received $payload".PHP_EOL; if ($payload === 'ping') { yield $socket->send('pong'); yield $socket->disconnect(); } } echo "Closed connection".PHP_EOL."==========".PHP_EOL; }; $server = listen(\sys_get_temp_dir().'/test'); while ($socket = yield $server->accept()) { asyncCall($clientHandler, $socket); } }); ``` Client: ```php receive()) { echo "Received $payload".PHP_EOL; } echo "Closed connection".PHP_EOL; }; $channel = yield connect(\sys_get_temp_dir().'/test'); asyncCall($clientHandler, $channel); yield $channel->send('ping'); }); ```