} $client = new Esockets\Client($config); // передаем конфигурацию, такую же, как для сервера if ($client->connect()) { error_log('успешно соединился!'); } // назначаем обработчик для новых входящих соединений. при соединении клиента к серверу будет вызван переданный обработчик $server->onConnectPeer(function ($peer) { /** * @var $peer \Esockets\Peer */ error_log('Принял входящее соединение ' . $peer->getAddress() . ' !'); // назначаем обработчик для чтения данных от присоединившегося клиента. при получении данных от подключенного клиента будет вызван переданный обработчик $peer->onRead(function ($msg) use($peer) { /** * @var $this \Esockets\Peer */ error_log('Получил сообщение от ' . $peer->getAddress() . ' ' . $msg . ' !'); }); // назначаем обработчик для отсоединения клиента от сервера. этот обработчик будет вызван при отсоединении клиента $peer->onDisconnect(function () use($peer) { error_log('Клиент ' . $peer->getAddress() . ' отсоединился от сервера'); }); }); // прослушиваем входящие соединения $server->listen(); // метод запускает обнаружение новых входящих соединений на сервере $client->send('HELLO WORLD!'); // метод возвращает true в случае успешной отправки, иначе false $server->read();