1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.socket-connect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_connect</refname>
<refpurpose>Initiates a connection on a socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>socket_connect</methodname>
<methodparam><type>Socket</type><parameter>socket</parameter></methodparam>
<methodparam><type>string</type><parameter>address</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>port</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Initiate a connection to <parameter>address</parameter> using the <classname>Socket</classname> instance
<parameter>socket</parameter>, which must be <classname>Socket</classname>
instance created with <function>socket_create</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>socket</parameter></term>
<listitem>
<para>
A <classname>Socket</classname> instance created with
<function>socket_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>address</parameter></term>
<listitem>
<para>
The <parameter>address</parameter> parameter is either an IPv4 address
in dotted-quad notation (e.g. <literal>127.0.0.1</literal>) if
<parameter>socket</parameter> is <constant>AF_INET</constant>, a valid
IPv6 address (e.g. <literal>::1</literal>) if IPv6 support is enabled and
<parameter>socket</parameter> is <constant>AF_INET6</constant>
or the pathname of a Unix domain socket, if the socket family is
<constant>AF_UNIX</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<para>
The <parameter>port</parameter> parameter is only used and is mandatory
when connecting to an <constant>AF_INET</constant> or an
<constant>AF_INET6</constant> socket, and designates
the port on the remote host to which a connection should be made.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success; The error code can be retrieved with
<function>socket_last_error</function>. This code may be passed to
<function>socket_strerror</function> to get a textual explanation of the
error.
</para>
<note>
<para>
If the socket is non-blocking then this function returns &false; with an
error <literal>Operation now in progress</literal>.
</para>
</note>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&sockets.changelog.socket-param;
<row>
<entry>8.0.0</entry>
<entry>
<parameter>port</parameter> is nullable now.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>socket_bind</function></member>
<member><function>socket_listen</function></member>
<member><function>socket_create</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
-->
|