mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 01:42:09 +01:00
Also fix EN-revision of previous commit as is was SVN revision 351509 git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@351593 c90b9560-bf6c-de11-be94-00142212c4b1
230 lines
8.2 KiB
XML
Executable File
230 lines
8.2 KiB
XML
Executable File
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<refentry xml:id="function.msg-receive" xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>msg_receive</refname>
|
|
<refpurpose>Reçoit un message depuis une file de messages</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>bool</type><methodname>msg_receive</methodname>
|
|
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>desired_message_type</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter role="reference">received_message_type</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>max_message_size</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">error_code</parameter><initializer>&null;</initializer></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>msg_receive</function> reçoit le premier message de la
|
|
file <parameter>queue</parameter>, le type est spécifié par
|
|
<parameter>desired_message_type</parameter>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>queue</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Descripteur de ressource de file d'attente de messages
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>desired_message_type</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Si <parameter>desired_message_type</parameter> vaut 0, le premier message
|
|
de la file est retourné. Si <parameter>desired_message_type</parameter> vaut
|
|
plus que 0, alors le premier message de ce type sera retourné.
|
|
Si <parameter>desired_message_type</parameter> vaut moins que 0, le premier
|
|
message de la file ayant un type inférieur ou égal à la valeur absolue
|
|
de <parameter>desired_message_type</parameter> sera retourné. Si aucun message
|
|
ne correspond aux critères, votre script attendra la venue d'un tel
|
|
message dans la file. Vous pouvez éviter ce blocage en précisant l'option
|
|
<constant>MSG_IPC_NOWAIT</constant> dans le paramètre
|
|
<parameter>flags</parameter>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>received_message_type</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le type de message qui a été reçu sera stocké dans ce paramètre.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>max_message_size</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
La taille maximale de message est fixée par
|
|
<parameter>max_message_size</parameter> ; si le message de la file est plus grand
|
|
que cette taille, la fonction échouera (à moins que vous
|
|
n'utilisiez une option <parameter>flags</parameter>, décrite ci-dessous).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>message</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le message reçu sera stocké dans le paramètre <parameter>message</parameter>,
|
|
à moins qu'il n'y ait eu des erreurs de réception du message.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>unserialize</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Quand c'est le cas, le message est traité comme s'il avait été linéarisé
|
|
avec le même mécanisme que le module de session. Le message sera alors
|
|
délinéarisé, puis retourné au script. Cela vous permettra de recevoir
|
|
facilement des tableaux ou des objets complexes dans votre script, émis
|
|
par d'autres scripts PHP, ou, si vous utilisez WDDX, depuis n'importe
|
|
quelle source compatible WDDX.
|
|
</para>
|
|
<para>
|
|
Si <parameter>unserialize</parameter> vaut &false;,
|
|
le message sera retourné intact, et sans modifier les valeurs binaires.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>flags</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le paramètre <parameter>flags</parameter> permet de passer des options
|
|
pour configurer les appels msgrcv. Par défaut, il vaut 0, mais vous pouvez
|
|
spécifier une ou plusieurs options en les combinant avec l'opérateur OR).
|
|
<table>
|
|
<title>Options de la fonction <function>msg_receive</function></title>
|
|
<tgroup cols="2">
|
|
<tbody>
|
|
<row>
|
|
<entry><constant>MSG_IPC_NOWAIT</constant></entry>
|
|
<entry>S'il n'y a pas de message du type
|
|
<parameter>desired_message_type</parameter>, retourne immédiatement
|
|
et n'attend pas. La fonction échouera et retournera un entier
|
|
correspondant à <constant>MSG_ENOMSG</constant>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>MSG_EXCEPT</constant></entry>
|
|
<entry>En utilisant cette option en combinaison avec
|
|
un type <parameter>desired_message_type</parameter> supérieur à 0, la
|
|
fonction va lire le premier message qui n'est pas
|
|
du type demandé par <parameter>desired_message_type</parameter>.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>MSG_NOERROR</constant></entry>
|
|
<entry>
|
|
Si le message est plus grand que <parameter>max_message_size</parameter>,
|
|
cette option va tronquer le message à la taille de
|
|
<parameter>max_message_size</parameter> et ne signalera pas d'erreur.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>errorcode</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Si la fonction échoue, le paramètre optionnel
|
|
<parameter>error_code</parameter> sera défini à la valeur
|
|
de la variable système errno.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
&return.success;
|
|
</para>
|
|
<para>
|
|
Lors de la réception réussie d'un message, la file est mise à jour
|
|
comme ceci : <literal>msg_lrpid</literal> prend la valeur de l'identifiant
|
|
de processus du processus appelant, <literal>msg_qnum</literal> est décrémenté de
|
|
1 et <literal>msg_rtime</literal> prend la date et l'heure courante.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<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> attend désormais une <classname>SysvMessageQueue</classname>;
|
|
auparavant, une <type>resource</type> était attendue.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</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
|
|
-->
|