Manuel PHP
Précédent |  | Suivant

# msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send -- Envoie un message dans une file

## Description

bool msg_send ( resource queue, int msgtype, mixed message [, bool serialize [, bool blocking [, int &errorcode]]] )

msg_send() envoie le messsage `message` de type `msgtype` (qui DOIT être plus grand que 0) à la file de messages identifiée par `queue`.

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.

Le paramètre optionnel `serialize` contrôle la méthode d'envoi du message `message`. `serialize` faut 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.

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écrementé de 1 et `msg_rtime` prend la date et l'heure courante.

Voir aussi msg_remove_queue(), msg_receive(), msg_stat_queue() et msg_set_queue().

Précédent | Sommaire | Suivant
msg_remove_queue | Niveau supérieur | msg_set_queue