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();