onError
الشرح:
callback Worker::$onError
يتم تفعيله عند حدوث خطأ في اتصال العميل.
أنواع الأخطاء الحالية هي:
-
فشل في استدعاء Connection::send نتيجة لتقطع اتصال العميل (سيتبع ذلك تفعيل دالة onClose)
(code:WORKERMAN_SEND_FAIL msg:client closed) -
عند تفعيل onBufferFull (حيث تكون منطقة الإرسال ممتلئة) ، لا يزال يتم استدعاء Connection::send وفشل الإرسال بسبب استمرار امتلاء منطقة الإرسال (لن يتم تفعيل onClose)
(code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package) -
عند فشل الاتصال غير المتزامن باستخدام 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();
ملحوظة: بالإضافة إلى استخدام دالة غير مسماة كاسترجاع، يمكنك أيضًا الإشارة إلى هنا لاستخدام طرق استرجاع أخرى.