예제 #1
0
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;