ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__constructConstruir un nuevo ZMQSocket

Descripción

publicZMQSocket::__construct(
    ZMQContext$context,
    int$type,
    string$persistent_id = null,
    callable$on_new_socket = null
)

Construye un objeto ZMQSocket. Se puede utilizar el parámetro persistent_id para asignar un socket persistente. Un socket persistente tiene que ser asignado desde un contexto persistente, por lo que permanece conectado durante múltiples peticiones. Se puede emplear el parámetro persistent_id para recordar el mismo socket durante múltiples peticiones. on_new_socket es llamado solamente cuando se crea un nueva estructura de socket subyacente.

Parámetros

context

Un objeto ZMQContext.

type

El tipo de socket. Véanse las constantes ZMQ::SOCKET_*.

persistent_id

Si se especifica persistent_id, el socket será persistente durante múltiples peticiones. Si context no es persistente, el socket recurrirá al modo no persistente.

on_new_socket

Función de retrollamada que es ejecutada cuando se crea una nueva estrucutra de socket. Esta función no es invocada si la conexión persistente subyacente es reutilizada.

callback(ZMQSocket$socket, string$persistent_id = null)

Errores/Excepciones

Lanza una ZMQSocketException en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de ZMQSocket()

Utilizar una callback the bind/connect socket

<?php


function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
if (
$persistent_id === 'server') {
$socket->bind("tcp://localhost:12122");
} else {
$socket->connect("tcp://localhost:12122");
}
}


$context = new ZMQContext();


$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo
"Mensaje recibido: {$message}\n";
?>
To Top