onError

Beschreibung:

callback Worker::$onError

Wird ausgelöst, wenn ein Fehler bei der Verbindung des Clients auftritt.

Aktuell gibt es folgende Fehlertypen:

  1. Fehler beim Aufruf von Connection::send aufgrund einer Unterbrechung der Client-Verbindung (darauf folgt umgehend der onClose-Callback) (code:WORKERMAN_SEND_FAIL msg:client closed)

  2. Wenn nach dem Auslösen von onBufferFull (der Sendepuffer ist voll) weiterhin Connection::send aufgerufen wird und der Sendepuffer weiterhin voll ist, was zu einem Sendefehler führt (onClose-Callback wird nicht ausgelöst) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

  3. Wenn eine asynchrone Verbindung mit AsyncTcpConnection fehlschlägt (darauf folgt umgehend der onClose-Callback) (code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client zurückgegebene Fehlermeldung)

Parameter der Callback-Funktion

$connection

Das Verbindungsobjekt, also eine Instanz von TcpConnection, das für die Bearbeitung der Client-Verbindung verwendet wird, wie z.B. Daten senden, Verbindung schließen usw.

$code

Fehlercode

$msg

Fehlermeldung

Beispiel

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 "Fehler $code $msg\n";
};
// Worker ausführen
Worker::runAll();

Hinweis: Neben der Verwendung von anonymen Funktionen als Callback kann auch hier nachgelesen werden, um andere Callback-Schreibweisen zu verwenden.