mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 08:28:54 +00:00
142 lines
5.1 KiB
XML
142 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<appendix xml:id="transports" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>List of Supported Socket Transports</title>
|
|
<para>
|
|
The following is a list of the various URL style socket transports
|
|
that PHP has built-in for use with the streams based socket
|
|
functions such as <function>fsockopen</function>, and
|
|
<function>stream_socket_client</function>. These transports do
|
|
<emphasis>not</emphasis> apply to the
|
|
<link linkend="ref.sockets">Sockets Extension</link>.
|
|
</para>
|
|
|
|
<para>
|
|
For a list of transports installed in your version of
|
|
PHP use <function>stream_get_transports</function>.
|
|
</para>
|
|
|
|
<section xml:id="transports.inet">
|
|
<title>Internet Domain: TCP, UDP, SSL, and TLS</title>
|
|
<simpara>
|
|
<literal>ssl://</literal>, <literal>tls://</literal>,
|
|
<literal>sslv2://</literal> & <literal>sslv3://</literal>.
|
|
</simpara>
|
|
|
|
<note>
|
|
<simpara>
|
|
If no transport is specified, <literal>tcp://</literal> will be assumed.
|
|
</simpara>
|
|
</note>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>127.0.0.1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>fe80::1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://127.0.0.1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://fe80::1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>udp://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>ssl://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>sslv2://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>sslv3://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tls://www.example.com</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<simpara>
|
|
Internet Domain sockets expect a port number in addition
|
|
to a target address. In the case of <function>fsockopen</function>
|
|
this is specified in a second parameter and therefore does
|
|
not impact the formatting of transport URL. With
|
|
<function>stream_socket_client</function> and related functions
|
|
as with traditional URLs however, the port number is specified
|
|
as a suffix of the transport URL delimited by a colon.
|
|
</simpara>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>tcp://127.0.0.1:80</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://[fe80::1]:80</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://www.example.com:80</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<note>
|
|
<title>IPv6 numeric addresses with port numbers</title>
|
|
<simpara>
|
|
In the second example above, while the IPv4 and hostname
|
|
examples are left untouched apart from the addition of
|
|
their colon and portnumber, the IPv6 address is wrapped in
|
|
square brackets: <literal>[fe80::1]</literal>. This is to
|
|
distinguish between the colons used in an IPv6 address and
|
|
the colon used to delimit the portnumber.
|
|
</simpara>
|
|
</note>
|
|
|
|
<simpara>
|
|
The <literal>ssl://</literal> and <literal>tls://</literal> transports
|
|
(available only when openssl support is compiled into PHP) are extensions
|
|
of the <literal>tcp://</literal> transport which include SSL encryption.
|
|
</simpara>
|
|
|
|
<simpara>
|
|
<literal>ssl://</literal> will attempt to negotiate an SSL V2,
|
|
or SSL V3 connection depending on the capabilities and preferences
|
|
of the remote host. <literal>sslv2://</literal> and
|
|
<literal>sslv3://</literal> will select the SSL V2 or SSL V3
|
|
protocol explicitly.
|
|
</simpara>
|
|
</section>
|
|
|
|
<section xml:id="transports.unix">
|
|
<title>Unix Domain: Unix and UDG</title>
|
|
<simpara>
|
|
<literal>unix://</literal> and
|
|
<literal>udg://</literal>.
|
|
</simpara>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>unix:///tmp/mysock</literal></simpara></listitem>
|
|
<listitem><simpara><literal>udg:///tmp/mysock</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<simpara>
|
|
<literal>unix://</literal> provides access to a socket stream
|
|
connection in the Unix domain. <literal>udg://</literal> provides
|
|
an alternate transport to a Unix domain socket using the user datagram
|
|
protocol.
|
|
</simpara>
|
|
|
|
<simpara>
|
|
Unix domain sockets, unlike Internet domain sockets, do not expect
|
|
a port number. In the case of <function>fsockopen</function> the
|
|
<parameter>portno</parameter> parameter should be set to 0.
|
|
</simpara>
|
|
|
|
<note>
|
|
<simpara>
|
|
Unix domain sockets are not supported on Windows.
|
|
</simpara>
|
|
</note>
|
|
</section>
|
|
|
|
</appendix>
|
|
|
|
<!-- 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
|
|
-->
|