onError

الشرح:

callback Worker::$onError

يتم تفعيله عند حدوث خطأ في اتصال العميل.

أنواع الأخطاء الحالية هي:

  1. فشل في استدعاء Connection::send نتيجة لتقطع اتصال العميل (سيتبع ذلك تفعيل دالة onClose) (code:WORKERMAN_SEND_FAIL msg:client closed)

  2. عند تفعيل onBufferFull (حيث تكون منطقة الإرسال ممتلئة) ، لا يزال يتم استدعاء Connection::send وفشل الإرسال بسبب استمرار امتلاء منطقة الإرسال (لن يتم تفعيل onClose) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

  3. عند فشل الاتصال غير المتزامن باستخدام AsyncTcpConnection (سيتبع ذلك تفعيل دالة onClose) (code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client返回的错误消息)

معلمات دالة الاسترجاع

$connection

كائن الاتصال، وهو مثيل TcpConnection، ويستخدم للتعامل مع اتصال العميل، مثل إرسال البيانات، إغلاق الاتصال وغيرها.

$code

رمز الخطأ

$msg

رسالة الخطأ

مثال

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";
};
// تشغيل العامل
Worker::runAll();

ملحوظة: بالإضافة إلى استخدام دالة غير مسماة كاسترجاع، يمكنك أيضًا الإشارة إلى هنا لاستخدام طرق استرجاع أخرى.