onError

Descrição:

callback Worker::$onError

É acionado quando ocorre um erro na conexão do cliente.

Atualmente, os tipos de erro são:

  1. Falha ao chamar Connection::send devido à desconexão do cliente (em seguida, será acionado o callback onClose) (code:WORKERMAN_SEND_FAIL msg:client closed)

  2. Após acionar onBufferFull (buffer de envio está cheio), ainda assim chamar Connection::send, e o buffer de envio permanecer cheio, resultando em falha no envio (não acionará o callback onClose) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

  3. Falha na conexão assíncrona ao usar AsyncTcpConnection (em seguida, será acionado o callback onClose) (code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client retornou mensagem de erro)

Parâmetros do Callback

$connection

Objeto de conexão, ou seja, uma instância de TcpConnection, usada para operar a conexão do cliente, como enviar dados, fechar a conexão, etc.

$code

Código de erro

$msg

Mensagem de erro

Exemplo

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";
};
// Executa o worker
Worker::runAll();

Dica: Além de usar funções anônimas como callback, também é possível consultar aqui para usar outras formas de callback.