mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-25 17:32:07 +01:00
292 lines
10 KiB
XML
Executable File
292 lines
10 KiB
XML
Executable File
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: a871ef72edf436c59422dedd538594db2541d5f1 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<refentry xml:id="function.socket-create" xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>socket_create</refname>
|
|
<refpurpose>Crée un socket</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type class="union"><type>Socket</type><type>false</type></type><methodname>socket_create</methodname>
|
|
<methodparam><type>int</type><parameter>domain</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>type</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>protocol</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>socket_create</function> crée un point de communication
|
|
(une socket) et retourne une instance de <classname>Socket</classname>
|
|
Une connexion typique réseau est composée de deux sockets :
|
|
une qui joue le rôle de client et l'autre celui du serveur.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>domain</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le paramètre <parameter>domain</parameter> spécifie la famille
|
|
de protocoles à utiliser par le socket.
|
|
</para>
|
|
<table>
|
|
<title>Famille d'adresses / protocoles disponibles</title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Domaine</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><constant>AF_INET</constant></entry>
|
|
<entry>
|
|
Protocole basé sur IPv4. TCP et UDP sont les protocoles communs
|
|
de cette famille de protocoles.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>AF_INET6</constant></entry>
|
|
<entry>
|
|
Protocole basé sur IPv6. TCP et UDP sont les protocoles communs
|
|
de cette famille de protocoles.
|
|
Le support a été ajouté en PHP 5.0.0.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>AF_UNIX</constant></entry>
|
|
<entry>
|
|
Famille de protocoles locales de communication. Le rendement
|
|
élevé et des moindres coûts supplémentaires lui font une
|
|
grande force d'IPC (<literal>Interprocess Communication</literal>).
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>type</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le paramètre <parameter>type</parameter> sélectionne le type de
|
|
communication à utiliser par le socket.
|
|
</para>
|
|
<table>
|
|
<title>Types de sockets disponibles</title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Type</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><constant>SOCK_STREAM</constant></entry>
|
|
<entry>
|
|
Fournit des flux d'octets ordonnancés, fiables, full-duplex,
|
|
raccordés sur la base. Un mécanisme de transmission des données
|
|
"<literal>out-of-band</literal>" peut être supporté.
|
|
Le protocole TCP est basé sur ce type de sockets.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>SOCK_DGRAM</constant></entry>
|
|
<entry>
|
|
Support des datagrammes (moins de connexion, message non garanti
|
|
d'une longueur maximum fixe). Le protocole UDP est basé sur ce
|
|
type de sockets.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>SOCK_SEQPACKET</constant></entry>
|
|
<entry>
|
|
Fournit un chemin de transmission de données séquentiel, fiable,
|
|
connecté à la base par deux chemins pour les datagrammes de
|
|
longueur maximale fixe ; un consommateur est requis pour lire la
|
|
totalité d'un paquet avec chaque appel à la lecture.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>SOCK_RAW</constant></entry>
|
|
<entry>
|
|
Fournit l'accès brut de protocole de réseau. Ce type spécial de
|
|
socket peut être utilisé pour construire manuellement tout type
|
|
de protocole. Une utilisation commune de ce type de sockets
|
|
est le traitement des requêtes ICMP (comme le ping).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><constant>SOCK_RDM</constant></entry>
|
|
<entry>
|
|
Fournit une couche fiable de datagramme qui ne garantit pas
|
|
l'ordre des données. Ce type de socket est le plus susceptible
|
|
de ne pas être implémenté sur votre système d'exploitation.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>protocol</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le paramètre <parameter>protocol</parameter> définit le protocole
|
|
spécifique pour le domaine <parameter>domain</parameter> à utiliser
|
|
lors de communications sur un socket retourné. La valeur appropriée
|
|
peut être retrouvée par son nom en utilisant la fonction
|
|
<function>getprotobyname</function>. Si le protocole désiré est TCP
|
|
ou UDP, les constantes correspondantes <constant>SOL_TCP</constant>
|
|
et <constant>SOL_UDP</constant> peuvent être utilisées.
|
|
</para>
|
|
<table>
|
|
<title>Protocoles Communs</title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Nom</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>icmp</literal></entry>
|
|
<entry>
|
|
Le protocole ICMP (<literal>Internet Control Message
|
|
Protocol</literal>) est utilisé tout d'abord par les
|
|
passerelles et les hôtes pour reporter les erreurs dans
|
|
des communications de datagramme. La commande
|
|
"<literal>ping</literal>" (présente dans les systèmes
|
|
de production modernes) est un exemple d'application
|
|
utilisant le protocole ICMP.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>udp</literal></entry>
|
|
<entry>
|
|
Le protocole UDP (<literal>User Datagramm Protocol</literal>)
|
|
est un protocole sans connexion, incertain avec les longueurs
|
|
d'enregistrements fixes. De ce fait, <literal>UDP</literal>
|
|
requiert une quantité minimum de protocole aérienne.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>tcp</literal></entry>
|
|
<entry>
|
|
Le protocole TCP (<literal>Transmission Control Protocol</literal>)
|
|
est un protocole fiable, connecté sur la base, orienté flux et
|
|
full-duplex. <literal>TCP</literal> garantit que chaque paquet est
|
|
reçu dans l'ordre dans lequel il a été envoyé. Si quelques paquets
|
|
sont perdus pendant la communication, <literal>TCP</literal>
|
|
retransmettra ces paquets tant que l'hôte destinataire ne les aura
|
|
pas reçu entièrement. Pour des raisons de fiabilité et de
|
|
performance, l'implémentation <literal>TCP</literal>, elle-même,
|
|
décide des frontières appropriées d'octets de la couche fondamentale
|
|
de communication du datagramme. Par conséquent, les applications
|
|
<literal>TCP</literal> doivent autoriser la possibilité de
|
|
transmission partielle d'enregistrements.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
<function>socket_create</function> retourne une instance de
|
|
<classname>Socket</classname> en cas de succès et &false; sinon.
|
|
Le code d'erreur généré peut être obtenu en appelant la fonction
|
|
<function>socket_last_error</function>. Ce code d'erreur
|
|
peut être passé à la fonction <function>socket_strerror</function>
|
|
pour obtenir un message d'erreur humainement lisible.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="errors">
|
|
&reftitle.errors;
|
|
<para>
|
|
Si une valeur invalide est spécifiée au paramètre <parameter>domain</parameter> ou
|
|
au paramètre <parameter>type</parameter>, la fonction <function>socket_create</function>
|
|
prendra comme paramètres par défaut respectivement <constant>AF_INET</constant> et
|
|
<constant>SOCK_STREAM</constant> et générera un message d'alerte
|
|
(<constant>E_WARNING</constant>).
|
|
</para>
|
|
</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>
|
|
En cas de succès, cette fonction retourne désormais une instance de
|
|
<classname>Socket</classname> ; auparavant, une <type>resource</type>
|
|
était retournée.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><function>socket_accept</function></member>
|
|
<member><function>socket_bind</function></member>
|
|
<member><function>socket_connect</function></member>
|
|
<member><function>socket_listen</function></member>
|
|
<member><function>socket_last_error</function></member>
|
|
<member><function>socket_strerror</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
|
|
-->
|