1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 07:22:16 +01:00
Files
archived-doc-es/reference/sem/functions/msg-send.xml
2026-01-26 15:33:12 +00:00

172 lines
5.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: fd2f14b2e44fbda6dd3f94a1d07f2bc9a7567aff Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.msg-send">
<refnamediv>
<refname>msg_send</refname>
<refpurpose>Envía un mensaje a una cola</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_send</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
<methodparam><type>int</type><parameter>message_type</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>int</type><type>float</type><type>bool</type></type><parameter>message</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>serialize</parameter><initializer>&true;</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>blocking</parameter><initializer>&true;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">error_code</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
<function>msg_send</function> envía el mensaje <parameter>message</parameter>
de tipo <parameter>message_type</parameter> (que DEBE ser mayor que 0)
a la cola de mensajes identificada por <parameter>queue</parameter>.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<simpara>
La cola de mensajes
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message_type</parameter></term>
<listitem>
<simpara>
El tipo del mensaje (DEBE ser mayor que 0)
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<simpara>
El cuerpo del mensaje
</simpara>
<note>
<simpara>
Si <parameter>serialize</parameter> está definido como &false;, DEBE ser del tipo: &string;, &integer;, &float; o &boolean;.
En otros casos se emitirá un aviso.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>serialize</parameter></term>
<listitem>
<simpara>
El parámetro opcional <parameter>serialize</parameter> controla el
método de envío del mensaje <parameter>message</parameter>. <parameter>serialize</parameter>
tiene por omisión el valor &true; lo que significa que el mensaje <parameter>message</parameter>
será serializado utilizando el mismo mecanismo que el utilizado
por las sesiones, antes de ser enviado a la cola de mensajes. Esto permite
enviar arrays y objetos complejos a otros scripts PHP, o bien, si se utiliza
la extensión WDDX, intercambiar mensajes con clientes compatibles WDDX.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>blocking</parameter></term>
<listitem>
<simpara>
Si el mensaje es demasiado grande para ser almacenado por la cola, su
script esperará hasta que otro proceso lea de la
cola un mensaje, y libere suficiente espacio para su mensaje. Este es
el modo bloqueante: puede evitar este modo utilizando el
parámetro <parameter>blocking</parameter> con el valor &false;:
en este caso, <function>msg_send</function> retornará inmediatamente
&false; si el mensaje es demasiado grande para la cola. Asignará entonces
al parámetro <parameter>error_code</parameter> el valor de
<constant>MSG_EAGAIN</constant>,
indicando que debería intentar enviar su mensaje de nuevo, un poco más tarde.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_code</parameter></term>
<listitem>
<simpara>
Si la función falla, el código de error opcional será definido con el valor de
la variable del sistema errno.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
&return.success;
</simpara>
<simpara>
Al enviar con éxito un mensaje, la cola se actualiza
de la siguiente manera: <literal>msg_lrpid</literal> toma el valor del identificador
de proceso del proceso llamante, <literal>msg_qnum</literal> se incrementa en
1 y <literal>msg_rtime</literal> toma la fecha y hora actual.
</simpara>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> ahora espera una <classname>SysvMessageQueue</classname>;
anteriormente, se esperaba un <type>resource</type>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->