ZMQSocket::__construct
(PECL zmq >= 0.5.0)
ZMQSocket::__construct — Construct a new ZMQSocket
Description
$context
, int $type
[, string $persistent_id
= null
[, callback $on_new_socket
= null
]] )
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.
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. Ifcontext
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.
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";
?>
The callback signature
Note:
function on_new_socket_cb(ZMQSocket $socket, string $persistent_id = null);
Return Values
Throws ZMQSocketException on error.
- Функция ZMQSocket::bind() - Bind the socket
- Функция ZMQSocket::connect() - Connect the socket
- Функция ZMQSocket::__construct() - Construct a new ZMQSocket
- Функция ZMQSocket::disconnect() - Disconnect a socket
- Функция ZMQSocket::getEndpoints() - Get list of endpoints
- Функция ZMQSocket::getPersistentId() - Get the persistent id
- Функция ZMQSocket::getSocketType() - Get the socket type
- Функция ZMQSocket::getSockOpt() - Get socket option
- Функция ZMQSocket::isPersistent() - Whether the socket is persistent
- Функция ZMQSocket::recv() - Receives a message
- Функция ZMQSocket::recvMulti() - Receives a multipart message
- Функция ZMQSocket::send() - Sends a message
- Функция ZMQSocket::sendmulti() - Sends a multipart message
- Функция ZMQSocket::setSockOpt() - Set a socket option
- Функция ZMQSocket::unbind() - Unbind the socket
Коментарии
404 Not Found