1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 00:12:06 +01:00
Files
archived-doc-es/reference/sem/functions/msg-receive.xml
Pedro Antonio Gil Rodríguez 3de4c92d29 Updated to the most recent version
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@311919 c90b9560-bf6c-de11-be94-00142212c4b1
2011-06-08 11:17:51 +00:00

204 lines
7.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5474843de6a8fec6c466b9fa7ab61b43b43b3c46 Maintainer: seros Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.msg-receive">
<refnamediv>
<refname>msg_receive</refname>
<refpurpose>Recibir un mensaje de la cola de mensajes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_receive</methodname>
<methodparam><type>resource</type><parameter>queue</parameter></methodparam>
<methodparam><type>int</type><parameter>desiredmsgtype</parameter></methodparam>
<methodparam><type>int</type><parameter role="reference">msgtype</parameter></methodparam>
<methodparam><type>int</type><parameter>maxsize</parameter></methodparam>
<methodparam><type>mixed</type><parameter role="reference">message</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>unserialize</parameter><initializer>true</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">errorcode</parameter></methodparam>
</methodsynopsis>
<para>
<function>msg_receive</function> recibirá el primer mensaje de la cola
especificada por <parameter>queue</parameter> del tipo especificado por
<parameter>desiredmsgtype</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>desiredmsgtype</parameter></term>
<listitem>
<para>
Si <parameter>desiredmsgtype</parameter> es 0, se devolverá el mensaje al frente
de la cola. Si <parameter>desiredmsgtype</parameter> es
mayor que 0, se devolverá el primer mensaje de ese tipo.
Si <parameter>desiredmsgtype</parameter> es menor que 0, se leerá
el primer mensaje de la cola con el tipo más bajo menor o igual que el
valor absoluto de <parameter>desiredmsgtype</parameter>.
Si ningún mensaje concuerda con el criterio, el script esperará hasta que un mensaje
apropiado llegue a la cola. Se puede prevenir que se bloquee el script
especificando <constant>MSG_IPC_NOWAIT</constant> en el
parámetro <parameter>flags</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>msgtype</parameter></term>
<listitem>
<para>
El tipo de mensaje que fue recibido se almacenará en este
parámetro.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>maxsize</parameter></term>
<listitem>
<para>
El tamaño máximo del mensaje aceptado se especifica mediante
<parameter>maxsize</parameter>; si el mensaje de la cola es mayor
que este tamaño la función fallará (a menos que se establezca
<parameter>flags</parameter> como está descrito abajo).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
El mensaje recibido será almacenado en <parameter>message</parameter>,
a menos que hubiera errores al recibir dicho mensaje.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>unserialize</parameter></term>
<listitem>
<para>
Si está establecido a
&true;, el mensaje es tratado como si fuera serializado usando el
mismo mecanismo que el del módulo de sesión. El mensaje será deserializado
y después devuelto al script. Esto permite recibir de forma sencilla
matrices y objetos complejos desde otros scripts de PHP, o si se está usando
el serializador WDDX, desde cualquier fuente compatible con WDDX.
</para>
<para>
Si <parameter>unserialize</parameter> es &false;, el mensaje será
devuelto como cadena segura a nivel binario.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
El parámetro opcional <parameter>flags</parameter> permite pasar banderas a la
llamada a bajo nivel de msgrcv. Por defecto es 0, pero se puede especificar uno
o más de los siguientes valores (añadiéndolos o usando OR).
<table>
<title>Flag values for msg_receive</title>
<tgroup cols="2">
<tbody>
<row>
<entry><constant>MSG_IPC_NOWAIT</constant></entry>
<entry>Si no hay mensajes del tipo deseado dado por
<parameter>desiredmsgtype</parameter>, devuelve inmediatamente y no
espera. La función fallará y devolverá un valor de tipo integer
correspondiente a <constant>MSG_ENOMSG</constant>.
</entry>
</row>
<row>
<entry><constant>MSG_EXCEPT</constant></entry>
<entry>Usar esta bandera en combinación con un
<parameter>desiredmsgtype</parameter> mayor que 0 causará que la
función reciba el primer mensaje que no sea igual a
<parameter>desiredmsgtype</parameter>.</entry>
</row>
<row>
<entry><constant>MSG_NOERROR</constant></entry>
<entry>
Si el mensaje es mayor que <parameter>maxsize</parameter>,
establecer esta bandera truncará el mensaje a
<parameter>maxsize</parameter> y no enviará un error.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>errorcode</parameter></term>
<listitem>
<para>
Si la función falla, el parámetro opcional <parameter>errorcode</parameter>
será establecido al valor de la variable errno del sistema.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
<para>
Si se finalizó con éxito, la estructura de datos de la cola de mensajes se actualiza como
sigue: <literal>msg_lrpid</literal> se establece al ID del proceso de
llamada, <literal>msg_qnum</literal> se disminuye en 1 y
<literal>msg_rtime</literal> se establece al momento actual.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_send</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</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
-->