|
||||||||||
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. |
||||||||||
|