if ($client->connect()) { error_log('успешно соединился!'); } $client->onDisconnect(function () { error_log('Меня отсоединили или я сам отсоединился!'); }); $client->onRead(function ($msg) { error_log('Получил что то: ' . $msg . ' !'); }); $work = new \Esockets\WorkManager(); $work->addWork('serverAccept', [$server, 'listen'], [], ['always' => true, 'interval' => 5000]); $work->addWork('serverReceive', [$server, 'read'], [], ['always' => true, 'interval' => 1000]); $work->addWork('clientReceive', [$client, 'read'], [], ['always' => true, 'interval' => 1000]); $work->execWork(); if ($client->send('HELLO WORLD!')) { error_log('Отправил!'); } if ($server->send('HELLO!')) { error_log('Я тоже отправил!'); } for ($i = 0; $i < 2; $i++) { $work->execWork(); sleep(1); } $work->deleteWork('serverReceive'); $server->disconnect(); for ($i = 0; $i < 2; $i++) { $work->execWork(); sleep(1); } echo ' Окончил работу!<br>' . PHP_EOL;