cvs: phpdoc-fr /reference/sockets reference.xml
| From: | Damien Seguy | Date: | Thu, 25 Jul 2002 03:26:33 +0000 |
| Subject: | cvs: phpdoc-fr /reference/sockets reference.xml | ||
| Groups: | php.doc.fr | ||
| Request: | Send a blank email to doc-fr+get-10@lists.php.net to get a copy of this message | ||
dams Wed Jul 24 23:26:33 2002 EDT
Modified files:
/phpdoc-fr/reference/sockets reference.xml
Log:
Index: phpdoc-fr/reference/sockets/reference.xml diff -u phpdoc-fr/reference/sockets/reference.xml:1.2 phpdoc-fr/reference/sockets/reference.xml:1.3 --- phpdoc-fr/reference/sockets/reference.xml:1.2 Mon Apr 15 20:55:10 2002 +++ phpdoc-fr/reference/sockets/reference.xml Wed Jul 24 23:26:33 2002 @@ -1,162 +1 @@ -<?xml version="1.0" encoding="iso-8859-1"?> - <reference id="ref.sockets"> - <title>Sockets</title> - <titleabbrev>Sockets</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - L'extension socket implémente une interface bas niveau avec les - fonctions de communication par socket. Cela permet de mettre en place - un serveur aussi bien qu'un client. - </simpara> - <para> - Les fonctions socket décrites ici sont rassemblées dans une extension - PHP. Pour être activées, il faut utiliser l'option de compilation - <option role="configure">--enable-sockets</option> au script - <command>configure</command>. - </para> - <para> - Pour une interface client plus générique, reportez vous à - <function>fsockopen</function> et <function>pfsockopen</function>. - </para> - <para> - Lorsque vous utiliserez les fonctions de sockets qui sont décrites ici, - gardez bien à l'esprit que même si elles ont souvent des noms identiques - aux fonctions C, elles ont souvent des prototypes différents. Lisez attentivement - la documentation pour éviter les confusions. - </para> - <para> - Cela dit, ceux qui n'ont pas l'habitude de la programmation avec les sockets - pourront trouver beaucoup de documentation pertinente dans les pages de - manuel Unix, et de nombreux tutorial de programmation C sur le web, dont la - plus part peuvent être repris après de légère - modifications, en PHP. - </para> - <para> - <example> - <title>Exemple de programmation Socket : serveur TCP/IP</title> - <para> - Cet exemple est un serveur perroquete : tout ce que vous lui envoyez - vous est retourné. Changez les variables - <varname>address</varname> et <varname>port</varname> pour les adapter à - votre configuration, et lancez le script. Vous pouvez vous connecter - au serveur avec une commande telle que <command>telnet 192.168.1.53 10000</command> - (avec l'adresse et le port qui sont ceux de votre configuration). - Pour vous déconnecter, tapez 'quit'. - </para> - <programlisting role="php"> -<?php -error_reporting(E_ALL); -/* On autorise le script à attendre les connexions indéfiniment. */ -set_time_limit(0); -/* Modifiez ces valeurs pour qu'elles soient celles de votre configuration */ -$address = '192.168.1.53'; -$port = 10000; -if (($sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - echo "socket() a échoué : raison : " . strerror($sock) . "\n"; -} -if (($ret = bind($sock, $address, $port)) < 0) { - echo "bind() a échoué : raison: " . strerror($ret) . "\n"; -} -if (($ret = listen($sock, 5)) < 0) { - echo "listen() a échoué : raison: " . strerror($ret) . "\n"; -} -do { - if (($msgsock = accept_connect($sock)) < 0) { - echo "accept_connect() a échoué : raison : " . strerror($msgsock) . "\n"; - break; - } - do { - $buf = ''; - $ret = read($msgsock, $buf, 2048); - if ($ret < 0) { - echo "read() a échoué : raison : " . strerror($ret) . "\n"; - break 2; - } - if ($ret == 0) { - break 2; - } - $buf = trim($buf); - if ($buf == 'quit') { - close($msgsock); - break 2; - } - $talkback = "PHP: Vous avez dit '$buf'.\n"; - write($msgsock, $talkback, strlen($talkback)); - echo "$buf\n"; - } while (<literal>TRUE</literal>); - close($msgsock); -} while (<literal>TRUE</literal>); -close($sock); -?> - </programlisting> - </example> - </para> - <para> - <example> - <title>Exemple avec les sockets : Client TCP/IP</title> - <para> - Cet exemple est un client HTTP basique. Il se connecte à une page - envoi les entêtes (requête HEAD), affiche le retour, et quitte. - </para> - <programlisting role="php"> -<?php -error_reporting(E_ALL); -echo "<h2>TCP/IP Connection</h2>\n"; -/* Demande le port du service WWW. */ -$service_port = getservbyname('www', 'tcp'); -/* Demande l'IP du serveur de destination. */ -$address = gethostbyname('www.php.net'); -/* Crée la connexion TCP/IP. */ -$socket = socket(AF_INET, SOCK_STREAM, 0); -if ($socket < 0) { - echo "socket() a échoué : raison : " . strerror($socket) . "\n"; -} else { - "socket() réussi: " . strerror($socket) . "\n"; -} -echo "Connexion à '$address' on port '$service_port'..."; -$result = connect($socket, $address, $service_port); -if ($result < 0) { - echo "connect() a échoué : raison : : ($result) " . strerror($result) . "\n"; -} else { - echo "OK.\n"; -} -$in = "HEAD / HTTP/1.0\r\n\r\n"; -$out = ''; -echo "Envoi des entêtes HTTP HEAD..."; -write($socket, $in, strlen($in)); -echo "OK.\n"; -echo "Lecture de la réponse :\n\n"; -while (read($socket, $out, 2048)) { - echo $out; -} -echo "Fermeture de la socket..."; -close($socket); -echo "OK.\n\n"; -?> - </programlisting> - </example> - </para> - </partintro> - -&reference.sockets.functions; - - </reference> - <!-- 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:"../../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> - +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.3 $ --> <reference id="ref.sockets"> <title>Socket</title> <titleabbrev>Sockets</titleabbrev> <partintro> &warn.experimental; <simpara> L'extension socket implmente une interface bas niveau avec les fonctions de communication par socket, bases sur les sockets BSD si populaires, et fournit la possibilit de fonctionner aussi bien sous forme de client que de serveur. </simpara> <para> Les fonctions de socket dcrites ici font partie d'une extension PHP qui doit tre active lors de la compilation en utilisant l'option <option role="configure">--enable-sockets</option>, avec la commande <command>configure</command>. </para> <para> Pour une interface socket cliente plus gnrique, voyez <function>fsockopen</function> et <function>pfsockopen</function>. </para> <para> Lorsque vous utilisez ces fonctions, il est important de vous rappeler que si de nombreuses fonctions ont le mme nom que leur alter ego en langage C, elles ont souvent des dclarations diffrentes. Lisez attentivement les descriptions pour viter des confusions. </para> <para> L'extension socket a t crite pour fournir une interface utilisable avec les puissantes sockets fournies par BSD. Un soin particulier a t apport pour que les fonctions soient aussi efficaces sous Unix que sous Windows32. Presque toutes les fonctions de sockets peuvent chouer dans certaines circonstances, et mettent ainsi un message d'alerte <constant>E_WARNING</constant> dcrivant l'erreur. Parfois, cela ne se fait pas selon les souhaits du dveloppeur. Par exemple, la fonction <function>socket_read</function> peut tout coup mettre un message <constant>E_WARNING</constant> car la connexion a t inopinment interrompu. Il est commun de supprimer les erreurs avec l'oprateur <literal>@</literal> et de traiter les erreurs avec la fonction <function>socket_last_error</function>, au niveau application. Vous pouvez appeler <function>socket_strerror</function> avec le code d'erreur pour connaître le message d'erreur, humainement lisible. Reportez vous leur description pour plus de dtails. </para> <note> <para> Les messages <constant>E_WARNING</constant> gnr par l'extension socket sont en anglais, mais le message d'erreur s'affichera en fonction de la configuration locale (<constant>LC_MESSAGES</constant>): <programlisting role="php"><![CDATA[Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet]]> </programlisting> </para> </note> <para> Cela dit, ceux qui ne sont pas familiers avec la programmation par socket peuvent toujours trouver beaucoup de documentation dans les pages de manuel Unix appropries, et il y a une grande quantit d'introductions en langage C sur le web, qui peuvent tre facilement rutiliss, avec des adaptations mineures. <ulink url="http://www.developerweb.net/sock-faq/">UNIX Socket FAQ</ulink> est un bon dbut. </para> <para> <example> <title>Exemple de socket : serveur TCP/IP simple</title> <para> Cet exemple montre comment crer un serveur simple. Changez les variables <varname>address</varname> et <varname>port</varname> pour vous adapter votre configuration, et excutez le. Vous pourrez alors vous connecter au serveur avec une commande comme ceci : <command>telnet 192.168.1.53 10000</command> (en supposant que l'adresse et le port correspondent votre configuration). Tout ce que vous saisissez aprs cela sera envoy au serveur, et affich en retour. Pour vous dconnecter, tapez 'quit'. </para> <programlisting role="php"><![CDATA[#!/usr/local/bin/php -q<?phperror_reporting (E_ALL);/* Permet au script de s'excuter indfiniment, pour attendre une connexion. */set_time_limit (0);/* Active explicitement l'envoi automatique aux visiteurs * au fur et mesure que nous recevons les donnes */ob_implicit_flush ();$address = '192.168.1.53';$port = 10000;if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) { echo "socket_create() failed: reason: " . socket_strerror ($sock) . "\n";}if (($ret = socket_bind ($sock, $address, $port)) < 0) { echo "socket_bind() a chou : raison : " . socket_strerror ($ret) . "\n";}if (($ret = socket_listen ($sock, 5)) < 0) { echo "socket_listen() a chou : raison : " . socket_strerror ($ret) . "\n";}do { if (($msgsock = socket_accept($sock)) < 0) { echo "socket_accept() a chou : raison : " . socket_strerror ($msgsock) . "\n"; break; } /* Envoie des instructions. */ $msg = "\nBienvenue au serveur de test PHP. \n" . "Pour quitter, tapez 'quit'. Pour teindre le serveur, tapes 'shutdown'.\n"; socket_write($msgsock, $msg, strlen($msg)); do { if (FALSE === ($buf = socket_read ($msgsock, 2048))) { echo "socket_read() a chou : raison : " . socket_strerror ($ret) . "\n"; break 2; } if (!$buf = trim ($buf)) { continue; } if ($buf == 'quit') { break; } if ($buf == 'shutdown') { socket_close ($msgsock); break 2; } $talkback = "PHP : Vous avez dit '$buf'.\n"; socket_write ($msgsock, $talkback, strlen ($talkback)); echo "$buf\n"; } while (true); socket_close ($msgsock);} while (true);socket_close ($sock);?>]]> </programlisting> </example> </para> <para> <example> <title>Exemple avec les sockets : Client TCP/IP simple</title> <para> Ce exemple illustre un client HTTP simple. Il se connecte simplement une page, envoie une requte HEAD, affiche le rsultat, et se termine. </para> <programlisting><![CDATA[<?phperror_reporting (E_ALL);echo "<h2>Connexion TCP/IP</h2>\n";/* Lit le port du service WWW. */$service_port = getservbyname ('www', 'tcp');/* Lit l'adresse IP du serveur de destination */$address = gethostbyname ('www.exemple.com');/* Cree une socket TCP/IP. */$socket = socket_create (AF_INET, SOCK_STREAM, 0);if ($socket < 0) { echo "socket_create() a chou : raison : " . socket_strerror ($socket) . "\n";} else { echo "OK.\n";}echo "Essai de connexion '$address' sur le port '$service_port'...";$result = socket_connect ($socket, $address, $service_port);if ($result < 0) { echo "socket_connect() a chou : raison : ($result) " . socket_strerror($result) . "\n";} else { echo "OK.\n";}$in = "HEAD / HTTP/1.0\r\n\r\n";$out = '';echo "Envoi de la requte HTTP HEAD...";socket_write ($socket, $in, strlen ($in));echo "OK.\n";echo "Lire la rponse : \n\n";while ($out = socket_read ($socket, 2048)) { echo $out;}echo "Fermeture de la socket...";socket_close ($socket);echo "OK.\n\n";?>]]> </programlisting> </example> </para> </partintro>&reference.sockets.functions; </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tindent-tabs-mode:nilsgml-parent-document:nilsgml-default-dtd-file:"../../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:vim600: syn=xml fen fdm=syntax fdl=2 sivim: et tw=78 syn=sgmlvi: ts=1 sw=1--> \ No newline at end of file
Index: phpdoc-fr/reference/sockets/reference.xml diff -u phpdoc-fr/reference/sockets/reference.xml:1.2 phpdoc-fr/reference/sockets/reference.xml:1.3 --- phpdoc-fr/reference/sockets/reference.xml:1.2 Mon Apr 15 20:55:10 2002 +++ phpdoc-fr/reference/sockets/reference.xml Wed Jul 24 23:26:33 2002 @@ -1,162 +1 @@ -<?xml version="1.0" encoding="iso-8859-1"?> - <reference id="ref.sockets"> - <title>Sockets</title> - <titleabbrev>Sockets</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - L'extension socket implémente une interface bas niveau avec les - fonctions de communication par socket. Cela permet de mettre en place - un serveur aussi bien qu'un client. - </simpara> - <para> - Les fonctions socket décrites ici sont rassemblées dans une extension - PHP. Pour être activées, il faut utiliser l'option de compilation - <option role="configure">--enable-sockets</option> au script - <command>configure</command>. - </para> - <para> - Pour une interface client plus générique, reportez vous à - <function>fsockopen</function> et <function>pfsockopen</function>. - </para> - <para> - Lorsque vous utiliserez les fonctions de sockets qui sont décrites ici, - gardez bien à l'esprit que même si elles ont souvent des noms identiques - aux fonctions C, elles ont souvent des prototypes différents. Lisez attentivement - la documentation pour éviter les confusions. - </para> - <para> - Cela dit, ceux qui n'ont pas l'habitude de la programmation avec les sockets - pourront trouver beaucoup de documentation pertinente dans les pages de - manuel Unix, et de nombreux tutorial de programmation C sur le web, dont la - plus part peuvent être repris après de légère - modifications, en PHP. - </para> - <para> - <example> - <title>Exemple de programmation Socket : serveur TCP/IP</title> - <para> - Cet exemple est un serveur perroquete : tout ce que vous lui envoyez - vous est retourné. Changez les variables - <varname>address</varname> et <varname>port</varname> pour les adapter à - votre configuration, et lancez le script. Vous pouvez vous connecter - au serveur avec une commande telle que <command>telnet 192.168.1.53 10000</command> - (avec l'adresse et le port qui sont ceux de votre configuration). - Pour vous déconnecter, tapez 'quit'. - </para> - <programlisting role="php"> -<?php -error_reporting(E_ALL); -/* On autorise le script à attendre les connexions indéfiniment. */ -set_time_limit(0); -/* Modifiez ces valeurs pour qu'elles soient celles de votre configuration */ -$address = '192.168.1.53'; -$port = 10000; -if (($sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - echo "socket() a échoué : raison : " . strerror($sock) . "\n"; -} -if (($ret = bind($sock, $address, $port)) < 0) { - echo "bind() a échoué : raison: " . strerror($ret) . "\n"; -} -if (($ret = listen($sock, 5)) < 0) { - echo "listen() a échoué : raison: " . strerror($ret) . "\n"; -} -do { - if (($msgsock = accept_connect($sock)) < 0) { - echo "accept_connect() a échoué : raison : " . strerror($msgsock) . "\n"; - break; - } - do { - $buf = ''; - $ret = read($msgsock, $buf, 2048); - if ($ret < 0) { - echo "read() a échoué : raison : " . strerror($ret) . "\n"; - break 2; - } - if ($ret == 0) { - break 2; - } - $buf = trim($buf); - if ($buf == 'quit') { - close($msgsock); - break 2; - } - $talkback = "PHP: Vous avez dit '$buf'.\n"; - write($msgsock, $talkback, strlen($talkback)); - echo "$buf\n"; - } while (<literal>TRUE</literal>); - close($msgsock); -} while (<literal>TRUE</literal>); -close($sock); -?> - </programlisting> - </example> - </para> - <para> - <example> - <title>Exemple avec les sockets : Client TCP/IP</title> - <para> - Cet exemple est un client HTTP basique. Il se connecte à une page - envoi les entêtes (requête HEAD), affiche le retour, et quitte. - </para> - <programlisting role="php"> -<?php -error_reporting(E_ALL); -echo "<h2>TCP/IP Connection</h2>\n"; -/* Demande le port du service WWW. */ -$service_port = getservbyname('www', 'tcp'); -/* Demande l'IP du serveur de destination. */ -$address = gethostbyname('www.php.net'); -/* Crée la connexion TCP/IP. */ -$socket = socket(AF_INET, SOCK_STREAM, 0); -if ($socket < 0) { - echo "socket() a échoué : raison : " . strerror($socket) . "\n"; -} else { - "socket() réussi: " . strerror($socket) . "\n"; -} -echo "Connexion à '$address' on port '$service_port'..."; -$result = connect($socket, $address, $service_port); -if ($result < 0) { - echo "connect() a échoué : raison : : ($result) " . strerror($result) . "\n"; -} else { - echo "OK.\n"; -} -$in = "HEAD / HTTP/1.0\r\n\r\n"; -$out = ''; -echo "Envoi des entêtes HTTP HEAD..."; -write($socket, $in, strlen($in)); -echo "OK.\n"; -echo "Lecture de la réponse :\n\n"; -while (read($socket, $out, 2048)) { - echo $out; -} -echo "Fermeture de la socket..."; -close($socket); -echo "OK.\n\n"; -?> - </programlisting> - </example> - </para> - </partintro> - -&reference.sockets.functions; - - </reference> - <!-- 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:"../../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> - +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.3 $ --> <reference id="ref.sockets"> <title>Socket</title> <titleabbrev>Sockets</titleabbrev> <partintro> &warn.experimental; <simpara> L'extension socket implmente une interface bas niveau avec les fonctions de communication par socket, bases sur les sockets BSD si populaires, et fournit la possibilit de fonctionner aussi bien sous forme de client que de serveur. </simpara> <para> Les fonctions de socket dcrites ici font partie d'une extension PHP qui doit tre active lors de la compilation en utilisant l'option <option role="configure">--enable-sockets</option>, avec la commande <command>configure</command>. </para> <para> Pour une interface socket cliente plus gnrique, voyez <function>fsockopen</function> et <function>pfsockopen</function>. </para> <para> Lorsque vous utilisez ces fonctions, il est important de vous rappeler que si de nombreuses fonctions ont le mme nom que leur alter ego en langage C, elles ont souvent des dclarations diffrentes. Lisez attentivement les descriptions pour viter des confusions. </para> <para> L'extension socket a t crite pour fournir une interface utilisable avec les puissantes sockets fournies par BSD. Un soin particulier a t apport pour que les fonctions soient aussi efficaces sous Unix que sous Windows32. Presque toutes les fonctions de sockets peuvent chouer dans certaines circonstances, et mettent ainsi un message d'alerte <constant>E_WARNING</constant> dcrivant l'erreur. Parfois, cela ne se fait pas selon les souhaits du dveloppeur. Par exemple, la fonction <function>socket_read</function> peut tout coup mettre un message <constant>E_WARNING</constant> car la connexion a t inopinment interrompu. Il est commun de supprimer les erreurs avec l'oprateur <literal>@</literal> et de traiter les erreurs avec la fonction <function>socket_last_error</function>, au niveau application. Vous pouvez appeler <function>socket_strerror</function> avec le code d'erreur pour connaître le message d'erreur, humainement lisible. Reportez vous leur description pour plus de dtails. </para> <note> <para> Les messages <constant>E_WARNING</constant> gnr par l'extension socket sont en anglais, mais le message d'erreur s'affichera en fonction de la configuration locale (<constant>LC_MESSAGES</constant>): <programlisting role="php"><![CDATA[Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet]]> </programlisting> </para> </note> <para> Cela dit, ceux qui ne sont pas familiers avec la programmation par socket peuvent toujours trouver beaucoup de documentation dans les pages de manuel Unix appropries, et il y a une grande quantit d'introductions en langage C sur le web, qui peuvent tre facilement rutiliss, avec des adaptations mineures. <ulink url="http://www.developerweb.net/sock-faq/">UNIX Socket FAQ</ulink> est un bon dbut. </para> <para> <example> <title>Exemple de socket : serveur TCP/IP simple</title> <para> Cet exemple montre comment crer un serveur simple. Changez les variables <varname>address</varname> et <varname>port</varname> pour vous adapter votre configuration, et excutez le. Vous pourrez alors vous connecter au serveur avec une commande comme ceci : <command>telnet 192.168.1.53 10000</command> (en supposant que l'adresse et le port correspondent votre configuration). Tout ce que vous saisissez aprs cela sera envoy au serveur, et affich en retour. Pour vous dconnecter, tapez 'quit'. </para> <programlisting role="php"><![CDATA[#!/usr/local/bin/php -q<?phperror_reporting (E_ALL);/* Permet au script de s'excuter indfiniment, pour attendre une connexion. */set_time_limit (0);/* Active explicitement l'envoi automatique aux visiteurs * au fur et mesure que nous recevons les donnes */ob_implicit_flush ();$address = '192.168.1.53';$port = 10000;if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) { echo "socket_create() failed: reason: " . socket_strerror ($sock) . "\n";}if (($ret = socket_bind ($sock, $address, $port)) < 0) { echo "socket_bind() a chou : raison : " . socket_strerror ($ret) . "\n";}if (($ret = socket_listen ($sock, 5)) < 0) { echo "socket_listen() a chou : raison : " . socket_strerror ($ret) . "\n";}do { if (($msgsock = socket_accept($sock)) < 0) { echo "socket_accept() a chou : raison : " . socket_strerror ($msgsock) . "\n"; break; } /* Envoie des instructions. */ $msg = "\nBienvenue au serveur de test PHP. \n" . "Pour quitter, tapez 'quit'. Pour teindre le serveur, tapes 'shutdown'.\n"; socket_write($msgsock, $msg, strlen($msg)); do { if (FALSE === ($buf = socket_read ($msgsock, 2048))) { echo "socket_read() a chou : raison : " . socket_strerror ($ret) . "\n"; break 2; } if (!$buf = trim ($buf)) { continue; } if ($buf == 'quit') { break; } if ($buf == 'shutdown') { socket_close ($msgsock); break 2; } $talkback = "PHP : Vous avez dit '$buf'.\n"; socket_write ($msgsock, $talkback, strlen ($talkback)); echo "$buf\n"; } while (true); socket_close ($msgsock);} while (true);socket_close ($sock);?>]]> </programlisting> </example> </para> <para> <example> <title>Exemple avec les sockets : Client TCP/IP simple</title> <para> Ce exemple illustre un client HTTP simple. Il se connecte simplement une page, envoie une requte HEAD, affiche le rsultat, et se termine. </para> <programlisting><![CDATA[<?phperror_reporting (E_ALL);echo "<h2>Connexion TCP/IP</h2>\n";/* Lit le port du service WWW. */$service_port = getservbyname ('www', 'tcp');/* Lit l'adresse IP du serveur de destination */$address = gethostbyname ('www.exemple.com');/* Cree une socket TCP/IP. */$socket = socket_create (AF_INET, SOCK_STREAM, 0);if ($socket < 0) { echo "socket_create() a chou : raison : " . socket_strerror ($socket) . "\n";} else { echo "OK.\n";}echo "Essai de connexion '$address' sur le port '$service_port'...";$result = socket_connect ($socket, $address, $service_port);if ($result < 0) { echo "socket_connect() a chou : raison : ($result) " . socket_strerror($result) . "\n";} else { echo "OK.\n";}$in = "HEAD / HTTP/1.0\r\n\r\n";$out = '';echo "Envoi de la requte HTTP HEAD...";socket_write ($socket, $in, strlen ($in));echo "OK.\n";echo "Lire la rponse : \n\n";while ($out = socket_read ($socket, 2048)) { echo $out;}echo "Fermeture de la socket...";socket_close ($socket);echo "OK.\n\n";?>]]> </programlisting> </example> </para> </partintro>&reference.sockets.functions; </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tindent-tabs-mode:nilsgml-parent-document:nilsgml-default-dtd-file:"../../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:vim600: syn=xml fen fdm=syntax fdl=2 sivim: et tw=78 syn=sgmlvi: ts=1 sw=1--> \ No newline at end of file