(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
msg_send — Envia uma mensagem para uma fila de mensagens
$queue
,$message_type
,$message
,$serialize
= true
,$blocking
= true
,&$error_code
= null
msg_send() envia a mensagem message
do tipo
message_type
(que PRECISA ser maior que 0) para
a fila de mensagens especificada por queue
.
queue
A fila de mensagens.
message_type
O tipo da mensagem (PRECISA ser maior que 0).
message
O corpo da mensagem.
Nota:
Se
serialize
definido comofalse
for fornecido, PRECISA ser do tipo: string, int, float ou bool. Caso contrário, um aviso será emitido.
serialize
O parâmetro opcional serialize
controla como a
mensagem do parâmetro message
é enviada. serialize
tem como padrão true
, o que significa que a mensagem em message
é
serializada usando o mesmo mecanismo do módulo de sessão antes de ser
enviada para a fila. Isso permite que arrays e objetos complexos sejam enviados para
outros scripts PHP ou, se estiver sendo usado o serializador WDDX, para qualquer cliente
compatível com WDDX.
blocking
Se a mensagem for muito grande para caber na fila, o script aguardará
até que outro processo leia as mensagens da fila e libere espaço
suficiente para que a mensagem seja enviada.
Isso é chamado de bloqueio; pode-se evitar o bloqueio definindo o
parâmetro opcional blocking
como false
, nesse
caso, msg_send() retornará imediatamente false
se a
mensagem for muito grande para a fila, e definirá o
error_code
opcional como MSG_EAGAIN
,
indicando que deve-se tentar enviar a mensagem novamente um pouco
mais tarde.
error_code
Se a função falhar, o código de erro opcional será definido como o valor da variável errno do sistema.
Retorna true
em caso de sucesso ou false
em caso de falha.
Após a conclusão bem-sucedida, a estrutura de dados da fila de mensagens é atualizada da
seguinte forma: msg_lspid
é definido como o ID do
processo do processo chamador, msg_qnum
é incrementado em 1 e
msg_stime
é definido como a hora atual.
Versão | Descrição |
---|---|
8.0.0 |
queue espera uma instância de SysvMessageQueue
agora; anteriormente, um resource era esperado.
|