pauseRecv

Descripción:

void Connection::pauseRecv(void)

Hace que la conexión actual deje de recibir datos. La función de retorno de llamada onMessage de esta conexión no se activará. Este método es muy útil para el control del flujo de carga.

Parámetros

Sin parámetros

Ejemplo

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

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onConnect = function($connection)
{
    // Se agrega dinámicamente una propiedad al objeto connection para guardar cuántas solicitudes ha enviado la conexión actual
    $connection->messageCount = 0;
};
$worker->onMessage = function(TcpConnection $connection, $data)
{
    // Después de que cada conexión recibe 100 solicitudes, ya no se recibirán más datos
    $limit = 100;
    if(++$connection->messageCount > $limit)
    {
        $connection->pauseRecv();
    }
};
// Ejecutar el worker
Worker::runAll();

Ver también

void Connection::resumeRecv(void) Restaura el objeto de conexión correspondiente para recibir datos.