ZMQSocket::__construct
(PECL zmq >= 0.5.0)
ZMQSocket::__construct — Construit un nouveau ZMQSocket
Description
$context
, int $type
[, string $persistent_id
= NULL
[, callback $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éé.
Liste de paramètres
-
context
-
Objet 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. Sicontext
n'est pas persistent, le socket passera automatiquement en mode non-persistent. -
on_new_socket
-
Function de rappel, qui sera exécuté lorsqu'une nouvelle structure de socket sera créée. Cette fonction ne sera pas appelée si la connexion persistente est ré-appelée.
Exemples
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";
?>
La signature de la fonction de rappel
Note:
function on_new_socket_cb(ZMQSocket $socket, string $persistent_id = null);
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-zmqsocket.construct.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.