ZMQSocket::__construct
(PECL zmq >= 0.5.0)
ZMQSocket::__construct — Construct a new ZMQSocket
说明
ZMQContext
$context,int
$type,string
$persistent_id = null,callable
$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.
  
参数
context- 
      
ZMQContext object.
 type- 
      
The socket type. See
ZMQ::SOCKET_*constants. persistent_id- 
      
If
persistent_idis specified the socket will be persisted over multiple requests. Ifcontextis 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.
 
错误/异常
Throws ZMQSocketException on error.
示例
示例 #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";
?>