conexões
Descrição:
array Worker::$connections
O formato é
array(id=>connection, id=>connection, ...)
Esta propriedade armazena todos os objetos de conexão de clientes da processo atual, onde id é o número de identificação da conexão. Para mais detalhes, consulte o manual sobre a propriedade id do TcpConnection.
$connections é muito útil ao fazer transmissões ou ao obter objetos de conexão com base no id da conexão.
Se souber que o número da conexão é $id, você pode facilmente obter o objeto de conexão correspondente através de $worker->connections[$id], permitindo assim operar a conexão de socket correspondente, por exemplo, enviando dados usando $worker->connections[$id]->send('...').
Atenção: se a conexão for encerrada (disparando onClose), a respectiva connection será removida do array $connections.
Atenção: desenvolvedores não devem modificar esta propriedade, pois isso pode causar comportamentos imprevisíveis.
Exemplo
use Workerman\Worker;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('text://0.0.0.0:2020');
// Ao iniciar o processo, define um timer que envia dados para todas as conexões de clientes
$worker->onWorkerStart = function($worker)
{
// Define um timer, a cada 10 segundos
Timer::add(10, function()use($worker)
{
// Percorre todas as conexões de clientes do processo atual e envia o tempo atual do servidor
foreach($worker->connections as $connection)
{
$connection->send(time());
}
});
};
// Executa o worker
Worker::runAll();