msg_send
Envoie un message dans une file
&reftitle.description;
boolmsg_send
SysvMessageQueuequeue
intmessage_type
stringintfloatboolmessage
boolserialize&true;
boolblocking&true;
interror_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.
&reftitle.parameters;
queue
La file d'attente de messages
message_type
Le type du message (DOIT être plus grand que 0)
message
Le corps du message
Si serialize est définit à &false; est fournit,
DOIT être du type : &string;, &integer;, &float; ou &boolean;.
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.
&reftitle.returnvalues;
&return.success;
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.
&reftitle.changelog;
&Version;
&Description;
8.0.0
queue attend désormais une SysvMessageQueue;
auparavant, une resource était attendue.
&reftitle.seealso;
msg_remove_queue
msg_receive
msg_stat_queue
msg_set_queue