(PHP 4 >= 4.3.0, PHP 5, PHP 7)
msg_send — Envoie un message dans une file
$queue
, int $msgtype
, mixed $message
[, bool $serialize
= true
[, bool $blocking
= true
[, int &$errorcode
]]] )
msg_send() envoie le message message
de type msgtype
(qui DOIT être plus grand que 0)
à la file de messages identifiée par queue
.
queue
msgtype
message
serialize
Le paramètre optionnel serialize
contrôle la
méthode d'envoi du message message
. serialize
vaut par défaut TRUE
ce qui signifie que le message message
sera linéarisé en utilisant le même mécanisme que celui qui est utilisé
par les sessions, avant d'être envoyé à la file de message. Cela permet
d'envoyer des tableaux et des objets complexes à d'autres scripts
PHP, ou bien, si vous utilisez l'extension WDDX, d'échanger des messages
avec des clients compatibles WDDX.
blocking
Si le message est trop grand pour être stocké par la file, votre
script attendra jusqu'à ce qu'un autre processus lise dans la
file un message, et libère assez de place pour votre message. C'est
le mode bloquant : vous pouvez éviter ce mode en utilisant le
paramètre blocking
avec la valeur FALSE
:
dans ce cas, msg_send() retournera immédiatement
FALSE
si le message est trop gros pour la file. Il assignera alors
au paramètre errorcode
la valeur de
MSG_EAGAIN
,
indiquant que vous devriez essayer d'envoyer à nouveau votre
message, un peu plus tard.
errorcode
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Lors de l'émission réussie d'un message, la file est mise à jour comme ceci : msg_lrpid prend la valeur de l'identifiant de processus du processus appelant, msg_qnum est décrémenté de 1 et msg_rtime prend la date et l'heure courante.