connections

विवरण:

array Worker::$connections

फॉर्मेट इस प्रकार है

array(id=>connection, id=>connection, ...)

इस प्रॉपर्टी में वर्तमान प्रक्रिया के सभी क्लाइंट कनेक्शन ऑब्जेक्ट्स संग्रहीत होते हैं, जिसमें id कनेक्शन का id नंबर है, विस्तृत जानकारी के लिए देखें TcpConnection का id प्रॉपर्टी

$connections ब्रॉडकास्ट करते समय या कनेक्शन id के अनुसार कनेक्शन ऑब्जेक्ट प्राप्त करने में बहुत सहायक है।

अगर कनेक्शन का नंबर $id मालूम हो, तो आप आसानी से $worker->connections[$id] के माध्यम से संबंधित कनेक्शन ऑब्जेक्ट प्राप्त कर सकते हैं और संबंधित सॉकेट कनेक्शन को ऑपरेट कर सकते हैं, जैसे कि $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::runAll();