ZMQSocket::__construct
Construct a new ZMQSocket
Description
public ZMQSocket::__construct(
ZMQContext $context
,
int $type
,
string $persistent_id
= null
,
callable $on_new_socket
= null
)
Parameters
-
context
-
ZMQContext object.
-
type
-
The socket type. See ZMQ::SOCKET_*
constants.
-
persistent_id
-
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.
-
on_new_socket
-
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.
callback(ZMQSocket $socket
, string $persistent_id
= null
)
Errors/Exceptions
Throws ZMQSocketException on error.
Examples
Example #1 A ZMQSocket example
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";
?>