-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathsocket-listen.xml
More file actions
132 lines (126 loc) · 4.22 KB
/
socket-listen.xml
File metadata and controls
132 lines (126 loc) · 4.22 KB
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 14dc7c47365f2b71f6c907a5ba5bccf42534d5a9 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.socket-listen" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_listen</refname>
<refpurpose>Espera una conexión en un socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>socket_listen</methodname>
<methodparam><type>Socket</type><parameter>socket</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>backlog</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Una vez que el socket <parameter>socket</parameter> ha sido
creado con la función <function>socket_create</function>
y vinculado a un nombre con la función
<function>socket_bind</function>, puede ponerse en espera de la
conexión entrante.
</para>
<para>
<function>socket_listen</function> solo funciona con sockets de
tipo <constant>SOCK_STREAM</constant> y <constant>SOCK_SEQPACKET</constant>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>socket</parameter></term>
<listitem>
<para>
Una instancia de <classname>Socket</classname> creada por
<function>socket_create</function> o <function>socket_addrinfo_bind</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>backlog</parameter></term>
<listitem>
<para>
Un número máximo de <parameter>backlog</parameter> conexiones serán puestas
en espera de procesamiento. Si una solicitud de conexión llega y la
cola está llena, el cliente recibirá un error indicando
<literal>ECONNREFUSED</literal>, o, si el protocolo de soporte acepta
retransmisiones, la solicitud será ignorada para que los intentos
posteriores finalmente tengan éxito.
</para>
<note>
<para>
El número máximo pasado en el parámetro <parameter>backlog</parameter>
depende principalmente de la plataforma de soporte. En Linux, se trunca
automáticamente a <constant>SOMAXCONN</constant>. En Windows,
si la constante <constant>SOMAXCONN</constant> es pasada, el servicio
responsable de los sockets elegirá un valor máximo <emphasis>razonable</emphasis>.
No hay método para adivinar el valor realmente elegido.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success; El código de error generado puede obtenerse llamando a la
función <function>socket_last_error</function>. Este código de error
puede pasarse a la función <function>socket_strerror</function>
para obtener un mensaje de error legible por humanos.
</para>
</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;
</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_create</function></member>
<member><function>socket_strerror</function></member>
<member><function>socket_addrinfo_bind</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
-->