msg_send
msg_send
(только PHP 4 CVS)
msg_send - отправляет сообщение в очередь сообщений.
Описание
bool msg_send (int queue, int msgtype, mixed message [, bool serialize [, bool blocking [, int errorcode]]])
msg_send() отправляет сообщение message типа msgtype (который ОБЯЗАН быть больше 0) в очередь сообщений queue.
Если сообщение слишком большое, чтобы вместиться в очередь, ваш скрипт будет ожидать, пока другой процесс не прочтёт сообщения из очереди и не освободит достаточно пространства для пересылки вашего сообщения. Это называется блокировкой; вы можете предотвратить блокировку, установив необязательный параметр blocking в FALSE; в этом случае msg_send() немедленно возвратит FALSE, если сообщение слишком велико для очереди, и установит необязательный errorcode в EAGAIN, указывая на то, что вы должны попытаться отправить сообщение снова немного позднее.
Необязательный параметр serialize контролирует то, как сообщение message отправляется. serialize по умолчанию имеет значение TRUE, т.е. message сериализуется с использованием того же механизма, что и в модуле сессии, перед отправкой в очередь. Это позволяет отправлять сложные массивы и объекты другим PHP-скриптам или, если вы используете WDDX-сериализатор, - любому WDDX-совместимому клиенту.
При успешном выполнении структура очереди сообщений обновляется так: в msg_lspid устанавливается process-ID вызывающего процесса, msg_qnum увеличивается на 1, а в msg_stime устанавливается текущее время.
См. также msg_remove_queue(), msg_receive(), msg_stat_queue() и msg_set_queue().
Эта функция была введена в PHP 4.3.0.