onError
Beschreibung:
callback Worker::$onError
Wird ausgelöst, wenn ein Fehler bei der Verbindung des Clients auftritt.
Aktuell gibt es folgende Fehlertypen:
-
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) -
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) -
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.