Constructs a ZMQSocket object. persistent_id
parameter can be used to allocated a persistent socket. A persistent socket has to be allocated from a persistent context and it stays connected over multiple requests. The persistent_id
parameter can be used to recall the same socket over multiple requests. The on_new_socket
is called only when a new underlying socket structure is created.
ZMQContext object.
The socket type. See ZMQ::SOCKET_*
constants.
If persistent_id
is specified the socket will be persisted over multiple requests. If context
is not persistent the socket falls back to non-persistent mode.
Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used.
Throws ZMQSocketException on error.
function on_new_socket_cb(ZMQSocket $socket, string $persistent_id = null);
Using callback the bind/connect socket
<?php /* The socket is persistent so this function is called only on the first request to the script. */ 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"); } } /* Allocate a new context */ $context = new ZMQContext(); /* Create a new socket */ $socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb'); $message = $socket->recv(); echo "Received message: {$message}\n"; ?>
Please login to continue.