(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
msg_send — Envía un mensaje a una cola
$queue
,$message_type
,$message
,$serialize
= true
,$blocking
= true
,&$error_code
= null
msg_send() envía el mensaje message
de tipo message_type
(que DEBE ser mayor que 0)
a la cola de mensajes identificada por queue
.
queue
La cola de mensajes
message_type
El tipo del mensaje (DEBE ser mayor que 0)
message
El cuerpo del mensaje
Nota:
Si
serialize
está definido comofalse
, DEBE ser del tipo: chaîne de caractères, entier, nombre décimal o booléen. En otros casos se emitirá un aviso.
serialize
El parámetro opcional serialize
controla el
método de envío del mensaje message
. serialize
tiene por omisión el valor true
lo que significa que el mensaje message
será serializado utilizando el mismo mecanismo que el utilizado
por las sesiones, antes de ser enviado a la cola de mensajes. Esto permite
enviar arrays y objetos complejos a otros scripts PHP, o bien, si se utiliza
la extensión WDDX, intercambiar mensajes con clientes compatibles WDDX.
blocking
Si el mensaje es demasiado grande para ser almacenado por la cola, su
script esperará hasta que otro proceso lea de la
cola un mensaje, y libere suficiente espacio para su mensaje. Este es
el modo bloqueante: puede evitar este modo utilizando el
parámetro blocking
con el valor false
:
en este caso, msg_send() retornará inmediatamente
false
si el mensaje es demasiado grande para la cola. Asignará entonces
al parámetro error_code
el valor de
MSG_EAGAIN
,
indicando que debería intentar enviar su mensaje de nuevo, un poco más tarde.
error_code
Si la función falla, el código de error opcional será definido con el valor de la variable del sistema errno.
Devuelve true
en caso de éxito o false
en caso de error.
Al enviar con éxito un mensaje, la cola se actualiza
de la siguiente manera: msg_lrpid
toma el valor del identificador
de proceso del proceso llamante, msg_qnum
se incrementa en
1 y msg_rtime
toma la fecha y hora actual.
Versión | Descripción |
---|---|
8.0.0 |
queue ahora espera una SysvMessageQueue;
anteriormente, se esperaba un resource.
|