conexiones

Descripción:

array Worker::$connections

El formato es

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

Este atributo almacena todos los objetos de conexión de cliente del proceso actual, donde el id es el número de identificación de la conexión. Para más detalles, consulte el manual sobre la propiedad id de TcpConnection.

$connections es muy útil al realizar transmisiones o al obtener un objeto de conexión basado en el id de conexión.

Si se conoce que el número de conexión es $id, se puede obtener fácilmente el objeto de conexión correspondiente a través de $worker->connections[$id], permitiendo así manipular la conexión de socket correspondiente, por ejemplo, enviando datos a través de $worker->connections[$id]->send('...').

Nota: Si la conexión se cierra (se activa onClose), la correspondiente connection será eliminada del array $connections.

Nota: Los desarrolladores no deben modificar este atributo, ya que podría causar situaciones impredecibles.

Ejemplo

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

$worker = new Worker('text://0.0.0.0:2020');
// Al iniciar el proceso, establece un temporizador para enviar datos a todas las conexiones de cliente
$worker->onWorkerStart = function($worker)
{
    // Se ejecuta cada 10 segundos
    Timer::add(10, function()use($worker)
    {
        // Itera sobre todas las conexiones de cliente del proceso actual y envía la hora actual del servidor
        foreach($worker->connections as $connection)
        {
            $connection->send(time());
        }
    });
};
// Ejecutar worker
Worker::runAll();