1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 07:02:06 +01:00
Files
archived-doc-fr/reference/sem/functions/msg-send.xml
Louis-Arnaud 5755a1bd8c Style impersonnel dans reference/ (a-d) (#2539)
* style: remplacer vous/votre/vos par style impersonnel dans reference/[a-d]*
2026-02-25 11:54:29 +01:00

175 lines
6.0 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: fd2f14b2e44fbda6dd3f94a1d07f2bc9a7567aff Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.msg-send">
<refnamediv>
<refname>msg_send</refname>
<refpurpose>Envoie un message dans une file</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> envoie le message <parameter>message</parameter>
de type <parameter>message_type</parameter> (qui DOIT être plus grand que 0)
à la file de messages identifiée par <parameter>queue</parameter>.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<simpara>
La file d'attente de messages
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message_type</parameter></term>
<listitem>
<simpara>
Le type du message (DOIT être plus grand que 0)
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<simpara>
Le corps du message
</simpara>
<note>
<simpara>
Si <parameter>serialize</parameter> est défini à &false; et fourni,
DOIT être du type : &string;, &integer;, &float; ou &boolean;.
Dans d'autres cas un avertissement sera émis.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>serialize</parameter></term>
<listitem>
<simpara>
Le paramètre optionnel <parameter>serialize</parameter> contrôle la
méthode d'envoi du message <parameter>message</parameter>. <parameter>serialize</parameter>
vaut par défaut &true; ce qui signifie que le message <parameter>message</parameter>
sera sérialisé en utilisant le même mécanisme que celui qui est utilisé
par les sessions, avant d'être envoyé à la file de message. Cela permet
d'envoyer des tableaux et des objets complexes à d'autres scripts
PHP, ou bien, lors de l'utilisation de l'extension WDDX, d'échanger des messages
avec des clients compatibles WDDX.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>blocking</parameter></term>
<listitem>
<simpara>
Si le message est trop grand pour être stocké par la file, le
script attendra jusqu'à ce qu'un autre processus lise dans la
file un message, et libère assez de place pour le message. C'est
le mode bloquant : il est possible d'éviter ce mode en utilisant le
paramètre <parameter>blocking</parameter> avec la valeur &false; :
dans ce cas, <function>msg_send</function> retournera immédiatement
&false; si le message est trop gros pour la file. Il assignera alors
au paramètre <parameter>error_code</parameter> la valeur de
<constant>MSG_EAGAIN</constant>,
indiquant qu'il faudrait essayer d'envoyer à nouveau le
message, un peu plus tard.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_code</parameter></term>
<listitem>
<simpara>
Si la fonction échoue, le code d'erreur optionnel sera défini à la valeur de
la variable système errno.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
&return.success;
</simpara>
<simpara>
Lors de l'émission 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 incrémenté de
1 et <literal>msg_rtime</literal> prend la date et l'heure courante.
</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> attend désormais une <classname>SysvMessageQueue</classname>;
auparavant, une <type>resource</type> était attendue.
</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
-->