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();
টিপ: অ্যানোনিমাস ফাংশন কলব্যাক হিসাবে ব্যবহারের বাইরেও, অন্যান্য কলব্যাক লেখার জন্য এখানে নজর দিন।