cvs: phpdoc-de /reference/sockets/functions socket-create-listen.xml socket-create-pair.xml socket-create.xml socket-get-option.xml

From: Date: Wed, 02 Jan 2008 01:41:55 +0000
Subject: cvs: phpdoc-de /reference/sockets/functions socket-create-listen.xml socket-create-pair.xml socket-create.xml socket-get-option.xml
Groups: php.doc.de 
Request: Send a blank email to doc-de+get-2353@lists.php.net to get a copy of this message
conni Wed Jan 2 01:41:55 2008 UTC Modified files: /phpdoc-de/reference/sockets/functions socket-create-listen.xml socket-create-pair.xml socket-create.xml socket-get-option.xml Log: Aktualisierung

http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/sockets/functions/socket-create-listen.xml?r1=1.3&r2=1.4&diff_format=u Index: phpdoc-de/reference/sockets/functions/socket-create-listen.xml diff -u phpdoc-de/reference/sockets/functions/socket-create-listen.xml:1.3 phpdoc-de/reference/sockets/functions/socket-create-listen.xml:1.4 --- phpdoc-de/reference/sockets/functions/socket-create-listen.xml:1.3 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/sockets/functions/socket-create-listen.xml Wed Jan 2 01:41:55 2008 @@ -1,61 +1,98 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> -<!-- EN-Revision: 1.5 Maintainer: conni Status: ready --> - <refentry xml:id="function.socket-create-listen" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>socket_create_listen</refname> - <refpurpose>Öffnet einen Socket um Verbindungen über einem gegebenen Port aufzubauen</refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>resource</type><methodname>socket_create_listen</methodname> - <methodparam><type>int</type><parameter>port</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>backlog</parameter></methodparam> - </methodsynopsis> - <para> - Diese Funktion soll die Erzeugung eines neuen Sockets, der nur auf - neue Verbindungsanforderungen wartet und die Verbindungen aufbaut, - erleichtern. - </para> - <para> - <function>socket_create_listen</function> erzeugt einen neuen - Socket vom Typ <constant>AF_INET</constant>, der an - <emphasis>allen</emphasis> Schnittstellen eines gegebenen Ports - auf neue Verbindungen wartet. - </para> - <para> - Der <parameter>backlog</parameter> Parameter gibt an, wie gross die - Warteschlange mit den wartenden Verbindungen maximal werden darf. - <constant>SOMAXCONN</constant> kann als - <parameter>backlog</parameter> Parameter übergeben werden. Mehr - Informationen hierzu finden Sie bei <function>socket_listen</function>. - </para> - <para> - <function>socket_create_listen</function> gibt bei Erfolg einen - neuen Socket-Deskriptor zurück oder &false;, falls ein Fehler - aufgetreten ist. Der Fehlercode kann mit der Funktion - <function>socket_last_error</function> abgefragt werden. Dieser - Fehlercode kann an die Funktion <function>socket_strerror</function> übergeben werden, um eine - textuelle Beschreibung des Fehlers zu erhalten. - </para> - <note> - <para> - Falls Sie einen Socket erzeugen möchten, der nur an bestimmten - Schnittstellen horcht, müssen Sie <function>socket_create</function>, - <function>socket_bind</function> und <function>socket_listen</function> benutzen. - </para> - </note> - <para> - Siehe auch - <function>socket_create</function>, - <function>socket_bind</function>, - <function>socket_listen</function>, - <function>socket_last_error</function> und - <function>socket_strerror</function>. - </para> - </refsect1> - </refentry> +<!-- $Revision: 1.4 $ --> +<!-- EN-Revision: 1.9 Maintainer: conni Status: ready --> +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.socket-create-listen"> + <refnamediv> + <refname>socket_create_listen</refname> + <refpurpose>Öffnet einen Socket um Verbindungen über einem gegebenen Port aufzubauen</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>resource</type><methodname>socket_create_listen</methodname> + <methodparam><type>int</type><parameter>port</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>backlog</parameter></methodparam> + </methodsynopsis> + <para> + <function>socket_create_listen</function> erzeugt einen neuen + Socket-Deskriptor vom Typ <constant>AF_INET</constant>, der an + <emphasis>allen</emphasis> lokalen Schnittstellen eines gegebenen Ports + auf neue Verbindungen wartet. + </para> + <para> + Diese Funktion soll die Erzeugung eines neuen Sockets, der nur auf neue + Verbindungsanforderungen wartet und akzeptiert, erleichtern. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>port</parameter></term> + <listitem> + <para> + Der Port, den alle Schnittstellen abhören. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>backlog</parameter></term> + <listitem> + <para> + Der Parameter <parameter>backlog</parameter> gibt an, wie gross die + Warteschlange mit wartenden Verbindungen maximal werden darf. + <constant>SOMAXCONN</constant> kann als <parameter>backlog</parameter> + übergeben werden. Mehr Informationen hierzu finden Sie bei + <function>socket_listen</function>. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + <function>socket_create_listen</function> gibt bei Erfolg einen neuen + Socket-Deskriptor zurück oder &false;, falls ein Fehler aufgetreten ist. + Der Fehlercode kann mit der Funktion <function>socket_last_error</function> + abgefragt werden. Dieser Fehlercode kann an die Funktion <function>socket_strerror</function> + übergeben werden, um eine textuelle Beschreibung des Fehlers zu + erhalten. + </para> + </refsect1> + + <refsect1 role="notes"> + &reftitle.notes; + <note> + <para> + Falls Sie einen Socket erzeugen möchten, der nur bestimmte + Schnittstellen abhört, müssen Sie <function>socket_create</function>, + <function>socket_bind</function> und <function>socket_listen</function> + verwenden. + </para> + </note> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>socket_create</function></member> + <member><function>socket_create_pair</function></member> + <member><function>socket_bind</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: http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/sockets/functions/socket-create-pair.xml?r1=1.3&r2=1.4&diff_format=u Index: phpdoc-de/reference/sockets/functions/socket-create-pair.xml diff -u phpdoc-de/reference/sockets/functions/socket-create-pair.xml:1.3 phpdoc-de/reference/sockets/functions/socket-create-pair.xml:1.4 --- phpdoc-de/reference/sockets/functions/socket-create-pair.xml:1.3 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/sockets/functions/socket-create-pair.xml Wed Jan 2 01:41:55 2008 @@ -1,206 +1,111 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> -<!-- EN-Revision: 1.12 Maintainer: conni Status: ready --> - <refentry xml:id="function.socket-create-pair" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>socket_create_pair</refname> - <refpurpose>Erzeugt ein paar von unverwechselbaren Sockets und speichert sie in einem Array. </refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>bool</type><methodname>socket_create_pair</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> - <methodparam><type>array</type><parameter>&amp;fd</parameter></methodparam> - </methodsynopsis> +<!-- $Revision: 1.4 $ --> +<!-- EN-Revision: 1.19 Maintainer: conni Status: ready --> +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.socket-create-pair"> + <refnamediv> + <refname>socket_create_pair</refname> + <refpurpose>Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array.</refpurpose> + </refnamediv> - <para> - <function>socket_create_pair</function> erzeugt zwei nicht - unterscheidbare verbundene Sockets und speichert sie im Array - <parameter>fd</parameter>. Diese Funktion wird allgemein bei der - Inter-Prozess-Kommunikation (IPC) verwendet. - </para> - <para> - Der Parameter <parameter>domain</parameter> bestimmt die - Protokollfamilie, die von den Sockets benutzt werden. - </para> - <table> - <title>Mögliche Adressen/Protokollfamilien</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Domain</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>AF_INET</entry> - <entry> - IPv4 basiertes Internetprotokoll. TCP und UDP sind - gebräuchliche Protokolle dieser Familie (die nur von Windows - unterstützt wird). - </entry> - </row> - <row> - <entry>AF_INET6</entry> - <entry> - IPv6 basierte Internetprotokolle. TCP und UDP sind - gebräuchliche Protokolle dieser Familie. Die Unterstützung für - IPv6 wurde mit PHP 5.0.0 eingeführt und wird nur unter windows - unterstützt. - </entry> - </row> - <row> - <entry>AF_UNIX</entry> - <entry> - Protokollfamilie für die lokale Kommunikation. Hohe Effizienz - bei wenig Overhead machen diese Familie zur besten Wahl für die - Inter-Prozess-Kommunikation. - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - Der Parameter <parameter>type</parameter> gibt den - Kommunikationstyp an, den der Socket verwenden soll. - </para> - <table> - <title>Die möglichen Socket-Typen sind:</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Type</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>SOCK_STREAM</entry> - <entry> - Stellt zuverlässige, sequentielle verbindungsorientierte Streams - im Vollduplexmodus zur Verfügung. Ein externer Mechanismus zur - Datenübertragung kann unterstützt werden. Das TCP-Protokoll - beruht auf diesem Socket.Typ. - </entry> - </row> - <row> - <entry>SOCK_DGRAM</entry> - <entry> - Unterstützt Datagramme (verbindunglos, Nachrichten vorgegebener - Maximallänge, deren Übertragung nicht zuverlässig ist). Das - UDP-Protikoll beruht auf diesem Socket-Typ. - </entry> - </row> - <row> - <entry>SOCK_SEQPACKET</entry> - <entry> - Stellt eine zuverlässige, sequentielle. bidirektionale - verbindungsorientierte Übertragungsweg für Datagramme - vorgegebener Maximallänge zur Verfügung. Ein Empfänger muss - bei jeder Leseanforderung das gesamte Datenpaket lesen. - </entry> - </row> - <row> - <entry>SOCK_RAW</entry> - <entry> - Stellt einen Zugang mit einem nicht bestimmten Netzwerkprotokoll - zur Verfügung. Dieser spezielle Socket-Typ kann dazu benutzt - werden, um manuell ein Protokoll eines beliebigen Typs zu - erstellen. Solche Sockets werden üblicherweise benutzt, um ICMP - Requests zu senden (wie etwa ping oder traceroute usw.). - </entry> - </row> - <row> - <entry>SOCK_RDM</entry> - <entry> - Stellt eine zuverlässige Schicht für Datagramme zur Verfügung, in - der die Reihenfolge der Datagramme nicht garantiert wird. Dies - ist in Ihrem Betriebssytem höchstwahrscheinlich nicht - implementiert. - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - Der Parameter <parameter>protocol</parameter> setzt das spezifische - Protokoll innerhalb der angegebenen <parameter>domain</parameter>, - das vom zurückgegebenen Socket für die Kommunikation benutzt wird. - Der passende Wert kann ermittelt werden, indem der Name an die - Funktion <function>getprotobyname</function>übergeben wird. Wenn TCP - oder UDP gewünscht werden, können auch die entsprechenden Konstanten - <constant>SOL_TCP</constant> oder <constant>SOL_UDP</constant> - benutzt werden. - </para> - <table> - <title>Gebräuchliche Protokolle</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>icmp</entry> - <entry> - Das Internet Control Message Protocol wird hauptsächlich von - Gateways und Hosts benutzt, um Datagramm-Fehler zu melden. Das - Kommando "ping" (das in den meisten modernen Betriebssystemen - enthalten ist) ist ein Beispiel für eine Anwendung von ICMP. - </entry> - </row> - <row> - <entry>udp</entry> - <entry> - Das User Datagram Protocol ist ein verbindungsloses, - unzuverlässiges Protokoll, mit dem Datensätze fester Länge - versendet werden können. Aufgrund dieser geringen Anforderungen - braucht UDP nur einen minimalen Protokoll-Overhead. - </entry> - </row> - <row> - <entry>tcp</entry> - <entry> - Das Transmission Control Protocol ist ein zuverlässiges, - verbindungsorientiertes, Stream-orientiertes Protokoll für den - Vollduplex-Betrieb. Bei TCP ist garantiert, dass alle Datenpakete - in derselben Reihenfolge empfangen werden, in der sie gesendet - wurden. Falls während der Übertragung ein Datenpaket verlorengeht, - wird es von TCP erneut versendet, und zwar solange, bis der - Empfängerhost den Eingang dieses Paktes zurückmeldet. Aus Gründen - der Zuverlässigkeit und Leistung ist TCP so implementiert, dass es - eigenständig die oktalen Grenzen der darunterliegenden Datagramm- - Kommunikationschicht anpassen kann. Aus diesem Grund müssen TCP - Anwendungen in der Lage sein, auch Teilübertragungen empfangen zu - können. - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - <example> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>bool</type><methodname>socket_create_pair</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> + <methodparam><type>array</type><parameter role="reference">fd</parameter></methodparam> + </methodsynopsis> + <para> + <function>socket_create_pair</function> erzeugt zwei nicht + unterscheidbare, verbundene Sockets und speichert sie im Array + <parameter>fd</parameter>. Diese Funktion wird allgemein bei der + Inter-Prozess-Kommunikation (IPC) verwendet. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>domain</parameter></term> + <listitem> + <para> + Der Parameter <parameter>domain</parameter> bestimmt die + Protokollfamilie, die von den Sockets benutzt werden. Eine komplette + Liste finden Sie bei der Funktion <function>socket_create</function>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>type</parameter></term> + <listitem> + <para> + Der Parameter <parameter>type</parameter> bestimmt den + Kommuunikationstyp, den die Sockets verwenden sollen. Eine komplette + Liste finden Sie bei der Funktion <function>socket_create</function>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>protocol</parameter></term> + <listitem> + <para> + Der Parameter <parameter>protocol</parameter> setzt das spezifische + Protokoll innerhalb der angegebenen <parameter>domain</parameter>, + das vom zurückgegebenen Socket für die Kommunikation benutzt wird. + Der passende Wert kann ermittelt werden, indem der Name an die + Funktion <function>getprotobyname</function>übergeben wird. Wenn TCP + oder UDP gewünscht werden, können auch die entsprechenden Konstanten + <constant>SOL_TCP</constant> oder <constant>SOL_UDP</constant> + benutzt werden. + </para> + <para> + Eine vollständige Liste aller unterstützter Protokolle finden Sie bei + der Funktion <function>socket_create</function>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>fd</parameter></term> + <listitem> + <para> + Referenz auf das Array, in das die beiden Socket-Deskriptoren + eingefügt werden. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + &return.success; + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> <title><function>socket_create_pair</function> Beispiel</title> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php $sockets = array(); -/* ein Socket-Paar erzeugen */ -if (!socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets)) { - echo socket_strerror(socket_last_error()); +/* Setup socket pair */ +if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets) === false) { + echo "socket_create_pair fehlgeschlagen. Grund: ".socket_strerror(socket_last_error()); } -/* Daten senden und empfangen */ -if (!socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n"))) { - echo socket_strerror(socket_last_error()); +/* Send and Recieve Data */ +if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) { + echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($sockets[0])); } -if (!$data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ)) { - echo socket_strerror(socket_last_error()); +if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ) === false) { + echo "socket_read() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($sockets[1])); } var_dump($data); @@ -221,8 +126,8 @@ $ary = array(); $strone = 'Nachricht vom Elternprozess.'; $strtwo = 'Nachricht vom Kindprozess.'; -if (!socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary)) { - echo socket_strerror(socket_last_error()); +if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) { + echo "socket_create_pair() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error()); } $pid = pcntl_fork(); if ($pid == -1) { @@ -230,18 +135,18 @@ } elseif ($pid) { /* Elternprozess */ socket_close($ary[0]); - if (!socket_write($ary[1], $strone, strlen($strone))) { - echo socket_strerror(socket_last_error()); + if (socket_write($ary[1], $strone, strlen($strone)) === false) { + echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($ary[1])); } if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) { echo "Empfangen: $strtwo\n"; } socket_close($ary[1]); } else { - /* Kindprozess */ + /*child*/ socket_close($ary[1]); - if (!socket_write($ary[0], $strtwo, strlen($strtwo))) { - echo socket_strerror(socket_last_error()); + if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) { + echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($ary[0])); } if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) { echo "Empfangen: $strone\n"; @@ -251,10 +156,24 @@ ?> ]]> </programlisting> - </example> - </para> - </refsect1> - </refentry> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>socket_create</function></member> + <member><function>socket_create_listen</function></member> + <member><function>socket_bind</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: http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/sockets/functions/socket-create.xml?r1=1.3&r2=1.4&diff_format=u Index: phpdoc-de/reference/sockets/functions/socket-create.xml diff -u phpdoc-de/reference/sockets/functions/socket-create.xml:1.3 phpdoc-de/reference/sockets/functions/socket-create.xml:1.4 --- phpdoc-de/reference/sockets/functions/socket-create.xml:1.3 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/sockets/functions/socket-create.xml Wed Jan 2 01:41:55 2008 @@ -1,216 +1,247 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> -<!-- EN-Revision: 1.7 Maintainer: conni Status: ready --> - <refentry xml:id="function.socket-create" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>socket_create</refname> - <refpurpose>Erzeugt einen Socket (Endpunkt für die Kommunikation)</refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>resource</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> - Erzeugt einen Kommunikationsendpunkt (einen Socket) und gibt einen - Socket-Deskriptor zurück. Ein typisches Netzwerk besteht aus zwei - Sockets, von denen der eine die Rolle des Clients und der andere die - Rolle des Servers übernimmt. - </para> - <para> - Der <parameter>domain</parameter> Parameter legt die Protokollfamilie - fest, die für die Kommunikation vom Socket benutzt wird. - </para> - - <table> - <title>Folgende Adressen/Protokollfamilien sind verfügbar:</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Domain</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>AF_INET</entry> - <entry> - IPv4 basierete Internet-Protokolle. TCP und UDP sind allgemein - gebräuchliche Protokolle dieser Familie. - </entry> - </row> - <row> - <entry>AF_INET6</entry> - <entry> - IPv6 basierete Internet-Protokolle. TCP und UDP sind allgemein - gebräuchliche Protokolle dieser Familie. Diese Unterstützung gibt - es seit PHP 5.0.0. - </entry> - </row> - <row> - <entry>AF_UNIX</entry> - <entry> - Protokollfamilie für die lokale Kommunikation. Hohe Effizienz und - ein geringer Overhead machen sie zur ersten Wahl für IPC - (Inter-Process-Communication). - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - Der Parameter <parameter>type</parameter> bestimmt den - Kommunikationstyp, den der Socket verwenden soll. - </para> - <table> - <title>Die möglichen Socket-Typen sind:</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Type</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>SOCK_STREAM</entry> - <entry> - Stellt zuverlässige, sequentielle verbindungsorientierte Streams - im Vollduplexmodus zur Verfügung. Ein externer Mechanismus zur - Datenübertragung kann unterstützt werden. Das TCP-Protokoll - beruht auf diesem Socket.Typ. - </entry> - </row> - <row> - <entry>SOCK_DGRAM</entry> - <entry> - Unterstützt Datagramme (verbindunglos, Nachrichten vorgegebener - Maximallänge, deren Übertragung nicht zuverlässig ist). Das - UDP-Protikoll beruht auf diesem Socket-Typ. - </entry> - </row> - <row> - <entry>SOCK_SEQPACKET</entry> - <entry> - Stellt eine zuverlässige, sequentielle. bidirektionale - verbindungsorientierte Übertragungsweg für Datagramme - vorgegebener Maximallänge zur Verfügung. Ein Empfänger muss - bei jeder Leseanforderung das gesamte Datenpaket lesen. - </entry> - </row> - <row> - <entry>SOCK_RAW</entry> - <entry> - Stellt einen Zugang mit einem nicht bestimmten Netzwerkprotokoll - zur Verfügung. Dieser spezielle Socket-Typ kann dazu benutzt - werden, um manuell ein Protokoll eines beliebigen Typs zu - erstellen. Solche Sockets werden üblicherweise benutzt, um ICMP - Requests zu senden (wie etwa ping oder traceroute usw.). - </entry> - </row> - <row> - <entry>SOCK_RDM</entry> - <entry> - Stellt eine zuverlässige Schicht für Datagramme zur Verfügung, in - der die Reihenfolge der Datagramme nicht garantiert wird. Dies - ist in Ihrem Betriebssytem höchstwahrscheinlich nicht - implementiert. - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - Der Parameter <parameter>protocol</parameter> setzt das spezifische - Protokoll innerhalb der angegebenen <parameter>domain</parameter>, - das vom zurückgegebenen Socket für die Kommunikation benutzt wird. - Der passende Wert kann ermittelt werden, indem der Name an die - Funktion <function>getprotobyname</function>übergeben wird. Wenn TCP - oder UDP gewünscht werden, können auch die entsprechenden Konstanten - <constant>SOL_TCP</constant> oder <constant>SOL_UDP</constant> - benutzt werden. - </para> - <table> - <title>Gebräuchliche Protokolle</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>icmp</entry> - <entry> - Das Internet Control Message Protocol wird hauptsächlich von - Gateways und Hosts benutzt, um Datagramm-Fehler zu melden. Das - Kommando "ping" (das in den meisten modernen Betriebssystemen - enthalten ist) ist ein Beispiel für eine Anwendung von ICMP. - </entry> - </row> - <row> - <entry>udp</entry> - <entry> - Das User Datagram Protocol ist ein verbindungsloses, - unzuverlässiges Protokoll, mit dem Datensätze fester Länge - versendet werden können. Aufgrund dieser geringen Anforderungen - braucht UDP nur einen minimalen Protokoll-Overhead. - </entry> - </row> - <row> - <entry>tcp</entry> - <entry> - Das Transmission Control Protocol ist ein zuverlässiges, - verbindungsorientiertes, Stream-orientiertes Protokoll für den - Vollduplex-Betrieb. Bei TCP ist garantiert, dass alle Datenpakete - in derselben Reihenfolge empfangen werden, in der sie gesendet - wurden. Falls während der Übertragung ein Datenpaket verlorengeht, - wird es von TCP erneut versendet, und zwar solange, bis der - Empfängerhost den Eingang dieses Paktes zurückmeldet. Aus Gründen - der Zuverlässigkeit und Leistung ist TCP so implementiert, dass es - eigenständig die oktalen Grenzen der darunterliegenden Datagramm- - Kommunikationschicht anpassen kann. Aus diesem Grund müssen TCP - Anwendungen in der Lage sein, auch Teilübertragungen empfangen zu - können. - </entry> - </row> - </tbody> - </tgroup> - </table> - <para> - Bei Erfolg gibt <function>socket_create</function> einen - Socket-Deskriptor zurück, bei einem Fehler wird &false; - zurückgegeben. Der aktuelle Fehlercode kann mit - <function>socket_last_error</function> - ermittelt werden. Dieser Fehlercode kann an die Funktion - <function>socket_strerror</function> übergeben werden, um eine - textuelle Beschreibing des Fehlers zu erhalten. - </para> - <note> - <para> - Falls ein fehlerhafter <parameter>domain</parameter>- oder - <parameter>type</parameter>-Parameter angegeben wird, benutzt - <function>socket_create</function> standardmässig - <constant>AF_INET</constant> sowie - <constant>SOCK_STREAM</constant> und gibt eine - <constant>E_WARNING</constant>-Meldung aus. - </para> - </note> - <para> - Siehe auch - <function>socket_accept</function>, - <function>socket_bind</function>, - <function>socket_connect</function>, - <function>socket_listen</function>, - <function>socket_last_error</function> und - <function>socket_strerror</function>. - </para> - </refsect1> - </refentry> +<!-- $Revision: 1.4 $ --> +<!-- EN-Revision: 1.11 Maintainer: conni Status: ready --> +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.socket-create"> + <refnamediv> + <refname>socket_create</refname> + <refpurpose>Erzeugt einen Socket (Endpunkt für die Kommunikation)</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>resource</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> + Erzeugt einen Socket (auch als Kommunikations-Endpunkt bezeichnet) und + gibt einen Socket-Deskriptor zurück. Ein typisches Netzwerk besteht aus + zwei Sockets, von denen der eine die Rolle des Clients und der andere die + Rolle des Servers übernimmt. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>domain</parameter></term> + <listitem> + <para> + <parameter>domain</parameter> Parameter legt die Protokollfamilie + fest, die für die Kommunikation vom Socket benutzt wird. + </para> + <table> + <title>Folgende Adressen/Protokollfamilien sind verfügbar:</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Domain</entry> + <entry>Beschreibung</entry> + </row> + </thead> + <tbody> + <row> + <entry>AF_INET</entry> + <entry> + IPv4 basierete Internet-Protokolle. TCP und UDP sind allgemein + gebräuchliche Protokolle dieser Familie. + </entry> + </row> + <row> + <entry>AF_INET6</entry> + <entry> + IPv6 basierete Internet-Protokolle. TCP und UDP sind allgemein + gebräuchliche Protokolle dieser Familie. Diese Unterstützung gibt es + seit PHP 5.0.0. + </entry> + </row> + <row> + <entry>AF_UNIX</entry> + <entry> + Protokollfamilie für die lokale Kommunikation. Hohe Effizienz und + ein geringer Overhead machen sie zur ersten Wahl für die IPC + (Inter-Process-Communication). + </entry> + </row> + </tbody> + </tgroup> + </table> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>type</parameter></term> + <listitem> + <para> + Der Parameter <parameter>type</parameter> bestimmt den Kommunikationstyp, + den der Socket verwenden soll. + to be used by the socket. + </para> + <table> + <title>Mögliche Socket-Typen</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Typ</entry> + <entry>Beschreibung</entry> + </row> + </thead> + <tbody> + <row> + <entry>SOCK_STREAM</entry> + <entry> + Stellt zuverlässige, sequentielle verbindungsorientierte Byte-Streams + im Vollduplexmodus zur Verfügung. Auch bandexterne Mechanismen zur + Datenübertragung können unterstützt werden. Das TCP-Protokoll beruht + auf diesem Socket.Typ. + </entry> + </row> + <row> + <entry>SOCK_DGRAM</entry> + <entry> + Unterstützt Datagramme (verbindunglos, Nachrichten vorgegebener + Maximallänge, deren Übertragung nicht zuverlässig ist). Das + UDP-Protikoll beruht auf diesem Socket-Typ. + </entry> + </row> + <row> + <entry>SOCK_SEQPACKET</entry> + <entry> + Stellt eine zuverlässige, sequentielle. bidirektionale + verbindungsorientierte Übertragungsweg für Datagramme vorgegebener + Maximallänge zur Verfügung. Ein Empfänger muss bei jeder + Leseanforderung das gesamte Datenpaket lesen. + </entry> + </row> + <row> + <entry>SOCK_RAW</entry> + <entry> + Stellt einen Zugang mit einem nicht bestimmten Netzwerkprotokoll zur + Verfügung. Dieser spezielle Socket-Typ kann dazu benutzt werden, um + manuell ein Protokoll eines beliebigen Typs zu erstellen. Solche + Sockets werden üblicherweise benutzt, um ICMP Requests zu senden + (wie etwa ping oder traceroute usw.). + </entry> + </row> + <row> + <entry>SOCK_RDM</entry> + <entry> + Stellt eine zuverlässige Schicht für Datagramme zur Verfügung, in der + die Reihenfolge der Datagramme nicht garantiert wird. Dies ist in + Ihrem Betriebssytem höchstwahrscheinlich nicht implementiert. + </entry> + </row> + </tbody> + </tgroup> + </table> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>protocol</parameter></term> + <listitem> + <para> + Der Parameter <parameter>protocol</parameter> setzt das spezifische + Protokoll innerhalb der angegebenen <parameter>domain</parameter>, das + vom zurückgegebenen Socket für die Kommunikation benutzt wird. Der + passende Wert kann ermittelt werden, indem der Name des Protokolls an + die Funktion <function>getprotobyname</function> übergeben wird. Wenn + TCP oder UDP gewünscht werden, können auch die entsprechenden Konstanten + <constant>SOL_TCP</constant> und <constant>SOL_UDP</constant> benutzt werden. + </para> + <table> + <title>Gebräuchliche Protokolle</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Name</entry> + <entry>Beschreibung</entry> + </row> + </thead> + <tbody> + <row> + <entry>icmp</entry> + <entry> + Das Internet Control Message Protocol wird hauptsächlich von + Gateways und Hosts benutzt, um Kommunikationsfehler bei Datagrammen + zu melden. Das Kommando "ping" (das in den meisten modernen + Betriebssystemen enthalten ist) ist ein Beispiel für eine Anwendung + von ICMP. + </entry> + </row> + <row> + <entry>udp</entry> + <entry> + Das User Datagram Protocol ist ein verbindungsloses, unzuverlässiges + Protokoll, mit dem Datensätze fester Länge versendet werden können. + Aufgrund dieser geringen Anforderungen braucht UDP nur einen + minimalen Protokoll-Overhead. + </entry> + </row> + <row> + <entry>tcp</entry> + <entry> + Das Transmission Control Protocol ist ein zuverlässiges, + verbindungsorientiertes, Stream-orientiertes Protokoll für den + Vollduplex-Betrieb. Bei TCP ist garantiert, dass alle Datenpakete in + derselben Reihenfolge empfangen werden, in der sie gesendet wurden. + Falls während der Übertragung ein Datenpaket verlorengeht, wird es + von TCP erneut versendet, und zwar solange, bis der Empfängerhost den + Eingang dieses Paktes zurückmeldet. Aus Gründen der Zuverlässigkeit + und Leistung ist TCP so implementiert, dass es eigenständig die + oktalen Grenzen der darunterliegenden Datagramm-Kommunikationschicht + bestimmen kann. Aus diesem Grund müssen TCP Anwendungen in der Lage + sein, auch Teilübertragungen empfangen zu können. + </entry> + </row> + </tbody> + </tgroup> + </table> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Bei Erfolg gibt <function>socket_create</function> einen Socket-Deskriptor + zurück, bei einem Fehler wird &false; zurückgegeben. Der aktuelle Fehlercode + kann mit <function>socket_last_error</function> ermittelt und an die Funktion + <function>socket_strerror</function> übergeben werden, um eine textuelle + Beschreibing des Fehlers zu erhalten. + </para> + </refsect1> + + <refsect1 role="errors"> + &reftitle.errors; + <para> + Falls eine ungültige <parameter>domain</parameter> oder ein ungültiger + <parameter>type</parameter> angegbeben wird, fällt <function>socket_create</function> + auf seinen Standardeinstellungen <constant>AF_INET</constant> und + entsprechend <constant>SOCK_STREAM</constant> zurück und gibt zusätzlich + eine <constant>E_WARNING</constant>-Meldung aus. + </para> + </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: http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/sockets/functions/socket-get-option.xml?r1=1.3&r2=1.4&diff_format=u Index: phpdoc-de/reference/sockets/functions/socket-get-option.xml diff -u phpdoc-de/reference/sockets/functions/socket-get-option.xml:1.3 phpdoc-de/reference/sockets/functions/socket-get-option.xml:1.4 --- phpdoc-de/reference/sockets/functions/socket-get-option.xml:1.3 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/sockets/functions/socket-get-option.xml Wed Jan 2 01:41:55 2008 @@ -1,165 +1,314 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> -<!-- EN-Revision: 1.7 Maintainer: conni Status: ready --> - <refentry xml:id="function.socket-get-option" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>socket_get_option</refname> - <refpurpose>Holt die Socket-Optionen für einen Socket </refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>mixed</type><methodname>socket_get_option</methodname> - <methodparam><type>resource</type><parameter>socket</parameter></methodparam> - <methodparam><type>int</type><parameter>level</parameter></methodparam> - <methodparam><type>int</type><parameter>optname</parameter></methodparam> - </methodsynopsis> - - <para> - The <function>socket_get_option</function> gibt den Wert der - Option zurück, der im Parameter <parameter>optname</parameter> - für den Socket <parameter>socket</parameter> gesetzt wurde. - <function>socket_get_option</function> gibt bei einem Fehler &false; zurück. - </para> - <para> - Der Parameter <parameter>level</parameter> enthält die - Protokollebene, für die die Option gilt. Beispiel: Um Optionen - auf der Socketebene abzufragen würde <parameter>level</parameter> - den Wert SQL_SOCKET enthalten. Andere Ebenen, etwa TCP, können - abgefragt werden, indem man die Protokollnummer dieser Ebene - angibt. Protokollnummern können mit einem Aufruf von - <function>getprotobyname</function> ermittelt werden. - </para> - <table> - <title>Mögliche socket-Optionen</title> +<!-- $Revision: 1.4 $ --> +<!-- EN-Revision: 1.15 Maintainer: conni Status: ready --> +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.socket-get-option"> + <refnamediv> + <refname>socket_get_option</refname> + <refpurpose>Holt die Socket-Optionen für einen Socket </refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>mixed</type><methodname>socket_get_option</methodname> + <methodparam><type>resource</type><parameter>socket</parameter></methodparam> + <methodparam><type>int</type><parameter>level</parameter></methodparam> + <methodparam><type>int</type><parameter>optname</parameter></methodparam> + </methodsynopsis> + <para> + <function>socket_get_option</function> gibt den Wert der Option zurück, + der im Parameter <parameter>optname</parameter> für den Socket + <parameter>socket</parameter> gesetzt wurde. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>socket</parameter></term> + <listitem> + <para> + Ein gültiger Socket-Deskriptor, der von der Funktion <function>socket_create</function> + oder <function>socket_accept</function> erzeugt wurde. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>level</parameter></term> + <listitem> + <para> + Der Parameter <parameter>level</parameter> enthält die Protokollebene, + für die die Option gilt. Beispiel: Um Optionen auf der Socketebene + abzufragen würde <parameter>level</parameter> den Wert SQL_SOCKET + enthalten. Andere Ebenen, etwa TCP, können abgefragt werden, indem man + die Protokollnummer dieser Ebene angibt. Protokollnummern können mit + einem Aufruf von <function>getprotobyname</function> ermittelt werden. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>optname</parameter></term> + <listitem> + <table> + <title>Mögliche Socket-Optionen</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Option</entry> + <entry>Beschreibung</entry> + <entry>Typ</entry> + </row> + </thead> + <tbody> + <row> + <entry>SO_DEBUG</entry> + <entry> + Gibt an, ob Debug-Informationen mitgeschrieben wurden. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_BROADCAST</entry> + <entry> + Gibt an, ob die Übermittlung von Rundsende-Nachrichten unterstützt wird. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_REUSEADDR</entry> + <entry> + Gibt an, ob die lokale Adresse wiederverwendet werden kann. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_KEEPALIVE</entry> + <entry> + Gibt an, ob Verbindungen durch periodische Aussendungen von + Nachrichten aufrecht erhalten werden. Falls der verbundene Socket + nicht auf diese Nachrichten antworten kann, wird die Verbindung + unterbrochen und Prozesse, die auf diesen Socket schreiben, erhalten + ein SIGPIPE Signal. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_LINGER</entry> + <entry> + <para> + Gibt an, ob der <parameter>socket</parameter> einen Aufruf von + <function>socket_close</function> verzögert, falls noch Daten + vorhanden sind. In der Standardeinstellung versucht ein Socket vor + dem Schließen, alle noch nicht gesendeten Daten zu übermitteln. Im + Falle eines verbindungsorientierten Sockets, wartet + <function>socket_close</function> auf die Empfangsbestätigung seiner + Gegenstelle. + </para> + <para> + Falls <varname>l_onoff</varname> von 0 verschieden und + <varname>l_linger</varname> ist 0, werden bei einem + verbindungsorientierten Socket alle noch nicht gesendeten Daten + verworfen und das Signal RST (Reset) an die Gegenstelle gesendet. + </para> + <para> + Andererseits, falls sowohl <varname>l_onoff</varname> als auch + <varname>l_linger</varname> von 0 verschieden sind, blockiert der + Aufruf von <function>socket_close</function> den Socket so lange, + bis entweder alle Daten gesendet sind oder das Zeitlimit erreicht + ist, das in <varname>l_linger</varname> gesetzt wurde. Wenn der + Socket auf nicht-blockieren gesetzt ist, schlägt + <function>socket_close</function> fehl und gibt einen Fehler zurück. + </para> + </entry> + <entry> + <type>array</type>. Das Array enthält zwei Schlüssel: + <varname>l_onoff</varname> and + <varname>l_linger</varname>. + </entry> + </row> + <row> + <entry>SO_OOBINLINE</entry> + <entry> + Gibt an, ob <parameter>socket</parameter> die Übertragung von + bandexternen Daten in der Reihenfolge überträgt, wie sie auftreten. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_SNDBUF</entry> + <entry> + Gibt die Grösse des Sendepuffers zurück. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_RCVBUF</entry> + <entry> + Gibt die Grösse des Empfangspuffers zurück. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_ERROR</entry> + <entry> + Gibt den Fehlerstatus zurück und löscht ihn. + </entry> + <entry> + <type>int</type> (dieser Wert kann nicht von + <function>socket_set_option</function> gesetzt werden.) + </entry> + </row> + <row> + <entry>SO_TYPE</entry> + <entry> + Gibt den Typ von <parameter>socket</parameter> zurück (z. B. + <constant>SOCK_STREAM</constant>). + </entry> + <entry> + <type>int</type> (dieser Wert kann nicht von + <function>socket_set_option</function> gesetzt werden.) + </entry> + </row> + <row> + <entry>SO_DONTROUTE</entry> + <entry> + Gibt an, ob ausgehende Nachrichten das standardmässige Routing + umgehen. + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_RCVLOWAT</entry> + <entry> + Gibt die Mindestanzahl Bytes an, die <parameter>socket</parameter> + bei einer Empfangsoperation verarbeiten soll. (Der Vorgabewert ist 1.) + </entry> + <entry> + <type>int</type> + </entry> + </row> + <row> + <entry>SO_RCVTIMEO</entry> + <entry> + Gibt den Wert der Zeitspanne bis zu einer Zeitüberschreitung + bei Empfangsoperationen an. + </entry> + <entry> + <type>array</type>. Das Array enthält zwei Schlüssel: + <varname>sec</varname>, den Sekunden-Anteil der Zeitspanne und + <varname>usec</varname>, den Mikrosekunden-Anteil der Zeitspanne bis + zu einer Zeitüberschreitung. + </entry> + </row> + <row> + <entry>SO_SNDTIMEO</entry> + <entry> + Gibt die Zeitspanne an, nach der eine Zeitüberschreitung bei + Sendeoperationen ausgelöst wird. Eine Ausgabefunktion darf während + der angegebenen Zeitspanne blockieren, falls die Ablaufsteuerung den + Versand der Daten verhindert. + </entry> + <entry> + <type>array</type>. Das Array enthält zwei Schlüssel: + <varname>sec</varname> den Sekunden-Anteil der Zeitspanne und + <varname>usec</varname> den Mikrosekunden-Anteil der Zeitspanne bis + zu einer Zeitüberschreitung. + </entry> + </row> + <row> + <entry>SO_SNDLOWAT</entry> + <entry> + Gibt die Mindestanzahl Bytes an, die <parameter>socket</parameter> + bei einer Ausgabeoperation verarbeiten soll. + </entry> + <entry> + <type>int</type> + </entry> + </row> + </tbody> + </tgroup> + </table> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Gibt den Wert der angegebenen Option zurück oder &false;, falls ein Fehler auftrat.. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>socket_set_option</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +$socket = socket_create_listen(1223); + +$linger = array('l_linger' => 1, 'l_onoff' => 1); +socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger); + +var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR)); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="changelog"> + &reftitle.changelog; + <para> + <informaltable> <tgroup cols="2"> <thead> <row> - <entry>Option</entry> - <entry>Beschreibung</entry> + <entry>&Version;</entry> + <entry>&Description;</entry> </row> </thead> <tbody> <row> - <entry>SO_DEBUG</entry> - <entry> - Gibt an, ob Debug-Informationen mitgeschrieben wurden. - </entry> - </row> - <row> - <entry>SO_ACCEPTCONN</entry> - <entry> - Gibt an, ob der Socket auf Verbindungsanforderungen wartet. - </entry> - </row> - <row> - <entry>SO_BROADCAST</entry> - <entry> - Gibt an, ob die Übermittlung von Rundsende-Nachrichten unterstützt wird. - </entry> - </row> - <row> - <entry>SO_REUSEADDR</entry> - <entry> - Gibt an, ob die lokale Adresse wiederverwendet werden kann. - </entry> - </row> - <row> - <entry>SO_KEEPALIVE</entry> - <entry> - Gibt an, ob Verbindungen durch periodische Aussendungen von - Nachrichten aufrecht erhalten werden. Falls der verbundene - Socket nicht auf diese Nachrichten antworten kann, wird die - Verbindung unterbrochen und Prozesse, die auf diesen Socket - schreiben, erhalten ein SIGPIPE Signal. - </entry> - </row> - <row> - <entry>SO_LINGER</entry> + <entry>4.3.0</entry> <entry> - Gibt an, ob der <parameter>socket</parameter> einen - <function>socket_close</function>-Aufruf verzögert, wenn Daten - vorhanden sind. - </entry> - </row> - <row> - <entry>SO_OOBINLINE</entry> - <entry> - Gibt an, ob der <parameter>socket</parameter> ob der Socket die Übertragung von out-of-band Daten (Daten mit höherer Priorität) in der normalen Reihenfolge überträgt. - </entry> - </row> - <row> - <entry>SO_SNDBUF</entry> - <entry> - Gibt Informationen zur Grösse des Sendepuffers zurück. - </entry> - </row> - <row> - <entry>SO_RCVBUF</entry> - <entry> - Gibt Informationen zur Grösse des Empfangspuffers zurück. - </entry> - </row> - <row> - <entry>SO_ERROR</entry> - <entry> - Gibt Informationen zum Fehlerstatus zurück und löscht den Status. - </entry> - </row> - <row> - <entry>SO_TYPE</entry> - <entry> - Gibt den Wert des Parameters <parameter>socket</parameter> zurück. - </entry> - </row> - <row> - <entry>SO_DONTROUTE</entry> - <entry> - Gibt an, ob ausgehende Nachrichten das standardmässige Routing umgehen. - </entry> - </row> - <row> - <entry>SO_RCVLOWAT</entry> - <entry> - Gibt die Mindestanzahl Bytes an, die <parameter>socket</parameter> - bei einer Empfangsoperation erhalten soll. (Der - Vorgabewert ist 1.) - </entry> - </row> - <row> - <entry>SO_RCVTIMEO</entry> - <entry> - Gibt den Wert für eine Zeitüberschreitung bei - Empfangsoperationen an. - </entry> - </row> - <row> - <entry>SO_SNDLOWAT</entry> - <entry> - Gibt die Mindestanzahl Bytes an, die <parameter>socket</parameter> - bei einer Ausgabeoperation versenden soll. - </entry> - </row> - <row> - <entry>SO_SNDTIMEO</entry> - <entry> - Gibt den Wert für eine Zeitüberschreitung bei - Sendeoperationen an. Eine Ausgabefunktion darf während der - angegebenen Zeitspanne blockieren, falls die Ablaufsteuerung - den Versand der Daten verhindert. + Der Name der Funktion wurde geändert. Sie ersetzt die bisherige + Funktion <literal>socket_getopt()</literal>. </entry> </row> </tbody> </tgroup> - </table> - <note> - <para> - Diese Funktion ersetzt <literal>socket_getopt()</literal>, die - in PHP vor Version 4.3.0 enthalten war. - </para> - </note> - </refsect1> - </refentry> + </informaltable> + </para> + </refsect1> + +</refentry> + + + <!-- Keep this comment at the end of the file Local variables:
« previous php.doc.de (#2353) next »