connections
বিবরণ:
array Worker::$connections
ফরম্যাট হলো
array(id=>connection, id=>connection, ...)
এই প্রপার্টিতে সংরক্ষিত বর্তমান প্রসেস এর সমস্ত ক্লায়েন্ট সংযোগ অবজেক্ট, যেখানে id হচ্ছে connection এর id নম্বর, বিস্তারিত জানার জন্য দেখুন নির্দেশিকা TcpConnection এর id প্রপার্টি।
$connections সম্প্রচার করার সময় বা সংযোগ id এর উপর ভিত্তি করে সংযোগ অবজেক্ট প্রাপ্তির জন্য খুব কার্যকর।
যদি connection এর নম্বর $id জানা থাকে, তবে সহজেই $worker->connections[$id] ব্যবহার করে সংশ্লিষ্ট connection অবজেক্ট প্রাপ্ত করা যায়, ফলে সংশ্লিষ্ট socket সংযোগ পরিচালনা করা সম্ভব, যেমন $worker->connections[$id]->send('...') ব্যবহার করে ডেটা পাঠানো।
দৃষ্টি আকর্ষণ: যদি সংযোগ বন্ধ হয় (onClose ট্রিগার করে), তবে সংশ্লিষ্ট connection $connections অ্যারে থেকে মুছে ফেলা হবে।
দৃষ্টি আকর্ষণ: ডেভেলপারদের উচিত এই প্রপার্টিতে কোনও সংশোধন করা থেকে বিরত থাকা, অন্যথায় এটি অজানা পরিস্থিতি সৃষ্টি করতে পারে।
উদাহরণ
use Workerman\Worker;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('text://0.0.0.0:2020');
// প্রসেস শুরু হলে সব ক্লায়েন্ট সংযোগে ডেটা পাঠানোর জন্য একটি টাইমার সেট করুন
$worker->onWorkerStart = function($worker)
{
// নির্ধারিত, প্রতি 10 সেকেন্ডে একবার
Timer::add(10, function()use($worker)
{
// বর্তমান প্রসেসের সমস্ত ক্লায়েন্ট সংযোগের মধ্য দিয়ে চলুন, বর্তমান সার্ভারের সময় পাঠান
foreach($worker->connections as $connection)
{
$connection->send(time());
}
});
};
// worker চালান
Worker::runAll();