onError
Descripción:
callback Worker::$onError
Se activa cuando ocurre un error en la conexión del cliente.
Los tipos de errores actuales son:
-
Fallo al llamar a
Connection::senddebido a que la conexión del cliente se ha cerrado (inmediatamente se activará la callbackonClose)(code:WORKERMAN_SEND_FAIL msg:client closed) -
Después de activar
onBufferFull(cuando el búfer de envío está lleno), se vuelve a llamar aConnection::send, y si el búfer de envío sigue estando lleno, se produce un fallo en el envío (no se activará la callbackonClose)(code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package) -
Fallo al intentar una conexión asíncrona utilizando
AsyncTcpConnection(inmediatamente se activará la callbackonClose)(code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client returned error message)
Parámetros de la función callback
$connection
Objeto de conexión, es decir, una instancia de TcpConnection, utilizada para operar en la conexión del cliente, como enviar datos, cerrar la conexión, etc.
$code
Código de error
$msg
Mensaje de error
Ejemplo
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";
};
// Ejecutar worker
Worker::runAll();
Nota: Además de usar una función anónima como callback, también puede consultar aquí para usar otras formas de callback.