msg_send

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_send — Надіслати повідомлення до черги повідомлень

Опис

msg_send(    SysvMessageQueue $queue,    int $message_type,    string|int|float|bool $message,    bool $serialize = true,    bool $blocking = true,    int &$error_code = null): bool

msg_send() надсилає повідомлення message з типом message_type (має бути більше 0) у чергу повідомлень, вказану параметром queue

Список параметрів

queue

Черга повідомлень.

message_type

Тип повідомлення. Має бути більше 0.

message

Тіло повідомлення.

Зауваження :

Якщо serialize поставлено як false, ПОВИННО бути типу: string, int, float або bool. Інакше буде виведено попередження.

serialize

Необов'язковий параметр serialize керує тим, як буде надіслано повідомлення messageПо умолчаниюserializeимеет значение**true**, что означает сериализациюmessage перед відправкою тим самим механізмом, який використовується модулем обробки сесій. Це дозволяє відправляти складні масиви та об'єкти в інші PHP-скрипти, або якщо ви використовуєте серіалізацію WDDX, в інші сумісні з WDDX клієнти.

blocking

Якщо повідомлення, яке розміщується в черзі, занадто велике, ваш скрипт буде очікувати прочитання повідомлень іншим процесом і звільнення місця під повідомлення, яке ви надсилаєте. Це називається блокуванням; ви можете вимкнути цю можливість, встановивши для blockingзначение**false, в цьому випадку msg_send() буде негайно повертати false якщо повідомлення надто велике, і встановлювати необов'язковий параметр error_codeв значениеMSG_EAGAIN**, що буде вказувати вам на необхідність спробувати надіслати повідомлення дещо пізніше.

error_code

Якщо функція відпрацює невдало, цей код буде записаний в системну змінну errno.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

При успішному завершенні структура даних черги повідомлень оновиться так: msg_lspid буде містити ідентифікатор процесу, що викликав, msg_qnum збільшиться на 1, а msg_stime міститиме поточний час.

список змін

ВерсияОпис
8.0.0Параметрqueue тепер чекає екземпляр SysvMessageQueue; раніше очікували ресурс (resource).

Дивіться також

  • msg_remove_queue() - Видалення черги повідомлень
  • msg_receive() - Отримання повідомлення з черги повідомлень
  • msg_stat_queue() - Отримання інформації із структури даних черги повідомлень
  • msg_set_queue() - Встановлення інформації у структурі даних черги повідомлень