bağlantılar

Açıklama:

array Worker::$connections

Formatı şu şekildedir:

array(id=>bağlantı, id=>bağlantı, ...)

Bu özellik, mevcut süreç içindeki tüm istemci bağlantı nesnelerini depolar. Burada id, bağlantının id numarasıdır, detaylar için TcpConnection id özelliğine bakın.

$connections, yayın yaparken veya bağlantı id'sine göre bağlantı nesnesi elde etmek için oldukça yararlıdır.

Eğer bağlantı numarasının $id olduğunu biliyorsanız, ilgili bağlantı nesnesini kolayca $worker->connections[$id] kullanarak elde edebilir ve bu şekilde ilgili soket bağlantısını işleyebilirsiniz, örneğin $worker->connections[$id]->send('...') şeklinde veri gönderebilirsiniz.

Not: Bağlantı kapatıldığında (onClose tetiklenirse), ilgili bağlantı $connections dizisinden kaldırılacaktır.

Not: Geliştiricilerin bu özelliği değişiklik yapmaması gerekmektedir, aksi takdirde öngörülemeyen durumlara neden olabilir.

Örnek

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

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