(PHP 4 >= 4.3.0, PHP 5)
msg_send — Invia un messaggio ad una coda di messaggi
$coda
, int $tipo_messaggio
, mixed $messaggio
[, bool $serialize
[, bool $blocco
[, int &$codice_errore
]]] )
La funzione msg_send() invia il messaggio
di tipo
tipo_messaggio
(che DEVE essere maggiore di 0) ad una
coda di messaggi indicata in coda
.
Se il messaggio è troppo grande per essere contenuto nella coda, lo script attenderà
fino a quando un'altro processo, leggendo i messaggi dalla coda, non libera lo spazio
necessario per il messaggio da inviare.
Questo viene detto blocco; si può prevenire il blocco indicando
nel parametro opzionale blocco
il valore FALSE
, in questo
caso msg_send() restituirà immediatamente FALSE
se il messaggio
è troppo grande per la coda, e impostando il parametro opzionale
codice_errore
a EAGAIN, si indica di ritentare
l'invio del messaggio dopo poco tempo.
Il parametro opzionale serialize
controlla come inviare
il messaggio
. serialize
, quando
è impostato al valore di default TRUE
, indica che il messaggio
,
prima di essere inviato alla coda, deve essere serializzato utilizzando
il medesimo meccanismo del modulo delle sessioni. Questo permette ad array complessi o
ad oggetti di essere inviati ad altri script PHP, oppure, se si sta usando il modulo di serializzazione di WDDX,
di essere inviati a client compatibili con WDDX.
Una volta eseguito con successo l'invio, la struttura dati della coda dei messaggi viene aggiornata
come segue: msg_lspid
viene impostato all'ID di processo del
processo chiamante, msg_qnum
viene incrementato di 1 e
msg_stime
viene impostato all'ora corrente.
Vedere anche: msg_remove_queue(), msg_receive(), msg_stat_queue() e msg_set_queue().