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();

টিপ: অ্যানোনিমাস ফাংশন কলব্যাক হিসাবে ব্যবহারের বাইরেও, অন্যান্য কলব্যাক লেখার জন্য এখানে নজর দিন