onError
Описание:
callback Worker::$onError
Вызывается при возникновении ошибки на соединении клиента.
В настоящее время есть следующие типы ошибок:
-
Ошибка, вызванная вызовом Connection::send из-за разрыва соединения клиента (сразу после этого будет вызван обратный вызов onClose)
(code:WORKERMAN_SEND_FAIL msg:client closed) -
После вызова onBufferFull (когда буфер отправки заполнен) и повторной попытки вызова Connection::send, если буфер отправки по-прежнему заполнен, что приводит к ошибке отправки (обратный вызов onClose не будет вызван)
(code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package) -
Ошибка при неудачном асинхронном соединении с помощью AsyncTcpConnection (сразу после этого будет вызван обратный вызов onClose)
(code:WORKERMAN_CONNECT_FAIL msg:ошибка, возвращаемая stream_socket_client)
Параметры обратного вызова
$connection
Объект соединения, то есть экземпляр TcpConnection, используемый для управления соединением клиента, например, для отправки данных, закрытия соединения и т.д.
$code
Код ошибки
$msg
Сообщение об ошибке
Пример
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onError = function(TcpConnection $connection, $code, $msg)
{
echo "error $code $msg\n";
};
// Запуск worker
Worker::runAll();
Подсказка: помимо использования анонимных функций в качестве обратного вызова, вы также можете ознакомиться здесь с другими способами написания обратных вызовов.