onError

Descripción:

callback Worker::$onError

Se activa cuando ocurre un error en la conexión del cliente.

Los tipos de errores actuales son:

  1. Fallo al llamar a Connection::send debido a que la conexión del cliente se ha cerrado (inmediatamente se activará la callback onClose) (code:WORKERMAN_SEND_FAIL msg:client closed)

  2. Después de activar onBufferFull (cuando el búfer de envío está lleno), se vuelve a llamar a Connection::send, y si el búfer de envío sigue estando lleno, se produce un fallo en el envío (no se activará la callback onClose) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

  3. Fallo al intentar una conexión asíncrona utilizando AsyncTcpConnection (inmediatamente se activará la callback onClose) (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.