(PECL zmq >= 0.5.0)
ZMQSocket::__construct — Construir un nuevo ZMQSocket
$context
,$type
,$persistent_id
= null
,$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.
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.
Lanza una ZMQSocketException en caso de error.
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";
?>