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 "ошибка $code $msg\n";
};
// Запуск worker
Worker::runAll();
Примечание: помимо использования анонимной функции в качестве обратного вызова, также можно посмотреть здесь другие способы записи обратного вызова.