(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
msg_send — Envoie un message dans une file
$queue
,$message_type
,$message
,$serialize
= true
,$blocking
= true
,&$error_code
= null
msg_send() envoie le message message
de type message_type
(qui DOIT être plus grand que 0)
à la file de messages identifiée par queue
.
queue
La file d'attente de messages
message_type
Le type du message (DOIT être plus grand que 0)
message
Le corps du message
Note:
Si
serialize
est définit àfalse
est fournit, DOIT être du type : chaîne de caractères, entier, nombre décimal ou booléen. Dans d'autres cas un avertissement sera émit.
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 error_code
la valeur de
MSG_EAGAIN
,
indiquant que vous devriez essayer d'envoyer à nouveau votre
message, un peu plus tard.
error_code
Si la fonction échoue, le code d'erreur optionnel sera définit à la valeur de la variable système errno.
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 incrémenté de
1 et msg_rtime
prend la date et l'heure courante.
Version | Description |
---|---|
8.0.0 |
queue attend désormais une SysvMessageQueue;
auparavant, une resource était attendue.
|