bağlantılar

Açıklama:

array Worker::$connections

Format şu şekildedir:

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

Bu özellik, mevcut süreçte bulunan tüm istemci bağlantı nesnelerini saklar, burada id, bağlantının id numarasını temsil eder; ayrıntılar için TcpConnection'ın id özelliğine bakabilirsiniz.

$connections yayın yaparken veya bağlantı id'sine göre bağlantı nesnesi almak için çok kullanışlıdır.

Eğer bağlantının numarasının $id olduğunu biliyorsanız, $worker->connections[$id] kullanarak uygun bağlantı nesnesini kolayca alabilir ve bu bağlamda ilgili soket bağlantısını işleye bilirsiniz; örneğin, veri göndermek için $worker->connections[$id]->send('...') kullanabilirsiniz.

Dikkat: Eğer bağlantı kapatılırsa (onClose tetiklendiğinde), ilgili connection $connections dizisinden silinecektir.

Dikkat: Geliştiricilerin bu özelliği değiştirmeye çalışmaması gerekir, aksi takdirde tahmin edilemeyen durumlar oluşabilir.

Örnek

use Workerman\Worker;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('text://0.0.0.0:2020');
// Süreç başlatıldığında, tüm istemci bağlantılarına veri göndermek için bir zamanlayıcı ayarlayın
$worker->onWorkerStart = function($worker)
{
    // Her 10 saniyede bir
    Timer::add(10, function() use($worker)
    {
        // Mevcut süreçteki tüm istemci bağlantılarını dolaşın, sunucunun mevcut zamanını gönderin
        foreach($worker->connections as $connection)
        {
            $connection->send(time());
        }
    });
};
// İşçiyi çalıştır
Worker::runAll();