(только 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. |