onError
Descripción:
callback Worker::$onError
Se activa cuando ocurre un error en la conexión del cliente.
Los tipos de error actuales son:
-
Error al llamar a Connection::send debido a una desconexión del cliente (seguido de la activación de la devolución de llamada onClose)
(code:WORKERMAN_SEND_FAIL msg:client closed)
-
Después de activar onBufferFull (el búfer de envío está lleno), sigue llamando a Connection::send y el búfer de envío sigue lleno, lo que provoca un fallo en el envío (no se activará la devolución de llamada onClose)
(code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)
-
Fallo en la conexión asincrónica con AsyncTcpConnection (seguido de la activación de la devolución de llamada onClose)
(code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client returned error message)
Parámetros de la función de devolución de llamada
$connection
Objeto de conexión, es decir, la instancia de TcpConnection, utilizada para operar 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 el worker
Worker::runAll();
Consejo: además de usar una función anónima como devolución de llamada, también se puede consultar aquí para utilizar otros métodos de devolución de llamada.