onError

Description:

callback Worker::$onError

Déclenché lorsqu'une erreur se produit lors de la connexion du client.

Les types d'erreurs actuellement sont :

  1. Échec de l'appel à Connection::send en raison de la déconnexion du client (déclenche immédiatement le rappel onClose) (code:WORKERMAN_SEND_FAIL msg:client closed)

  2. Après avoir déclenché onBufferFull (le tampon d'envoi est plein), si Connection::send est appelé et que le tampon d'envoi est toujours plein, cela entraîne un échec d'envoi (ne déclenche pas le rappel onClose) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

  3. Échec de la connexion asynchrone avec AsyncTcpConnection (déclenche immédiatement le rappel onClose) (code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client retourne le message d'erreur)

Paramètres de la fonction de rappel

$connection

Objet de connexion, c'est-à-dire une instance de TcpConnection, utilisée pour opérer sur la connexion client, comme envoyer des données, fermer la connexion, etc.

$code

Code d'erreur

$msg

Message d'erreur

Exemple

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";
};
// Exécuter le worker
Worker::runAll();

Remarque : En plus d'utiliser des fonctions anonymes comme rappels, vous pouvez également vous référer ici pour utiliser d'autres écritures de rappels.