(PECL zmq >= 0.5.0)
ZMQSocket::__construct — Construit un nouveau ZMQSocket
$context,$type,$persistent_id = null,$on_new_socket = null
   Construit un objet ZMQSocket. Le paramètre persistent_id
   peut être utilisé pour allouer un socket persistent. Un socket
   persistent doit être alloué depuis un contexte persistent,
   et il restera connecté pendant plusieurs requêtes. Le paramètre
   persistent_id peut être utilisé
   pour ré-appeler le même socket lors des prochaines requêtes.
   on_new_socket est appelé uniquement lorsqu'une
   nouvelle structure sous-jacente de socket est créé.
  
contextObjet ZMQContext.
type
       Le type de socket. Voir les constantes ZMQ::SOCKET_*.
      
persistent_id
       Si persistent_id est spécifié, le socket sera
       persistent pendant plusieurs requêtes. Si context
       n'est pas persistent, le socket passera automatiquement en mode non-persistent.
      
on_new_socketFonction de rappel, qui sera exécutée lorsqu'une nouvelle structure de socket sera créée. Cette fonction ne sera pas appelée si la connexion persistente est ré-appelée.
Lance une ZMQSocketException en cas d'erreur.
Exemple #1 Exemple avec ZMQSocket()
Utilisation de la fonction de rappel sur le socket lié/connecté
<?php
/*
  Le socket est persistent, aussi, cette fonction est appelée uniquement
  lors de la première requête du 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");
    }
}
/* Alloue un nouveau contexte */
$context = new ZMQContext();
/* Crée un nouveau socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');
$message = $socket->recv();
echo "Received message: {$message}\n";
?>