-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathsocket-getpeername.xml
More file actions
149 lines (142 loc) · 4.75 KB
/
socket-getpeername.xml
File metadata and controls
149 lines (142 loc) · 4.75 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5eaa3458d57434d0ce08207726a7d25df2994c6d Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.socket-getpeername" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_getpeername</refname>
<refpurpose>Interroga el otro extremo de la comunicación</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>socket_getpeername</methodname>
<methodparam><type>Socket</type><parameter>socket</parameter></methodparam>
<methodparam><type>string</type><parameter role="reference">address</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">port</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Interroga el otro extremo de la comunicación.
</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_accept</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>address</parameter></term>
<listitem>
<para>
Si el socket <parameter>socket</parameter> es de tipo
<constant>AF_INET</constant> o <constant>AF_INET6</constant>,
<function>socket_getpeername</function> devolverá
<emphasis>la dirección IP</emphasis> del host, en notación numérica (por ejemplo,
<literal>127.0.0.1</literal> o <literal>fe80::1</literal>) en el
parámetro <parameter>address</parameter>, y si el parámetro opcional
<parameter>port</parameter> está presente, también devolverá el puerto
de la comunicación establecida.
</para>
<para>
Si el socket <parameter>socket</parameter> es de tipo <constant>AF_UNIX</constant>,
<function>socket_getpeername</function> devolverá la ruta en el
sistema de archivos (por ejemplo, <literal>/var/run/daemon.sock</literal>) en el
parámetro <parameter>address</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<para>
Si se proporciona, este debe ser el puerto asociado a la dirección
del parámetro <parameter>address</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success; <function>socket_getpeername</function> también puede
devolver &false; si el tipo del socket no es ni <constant>AF_INET</constant>,
<constant>AF_INET6</constant> ni <constant>AF_UNIX</constant>, en cuyo caso el
último código de error del socket <emphasis>no</emphasis> se modifica.
</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="notes">
&reftitle.notes;
<note>
<para>
<function>socket_getsockname</function> no debe usarse con los sockets
<constant>AF_UNIX</constant> creados con <function>socket_accept</function>.
Solo los sockets creados con <function>socket_connect</function> o un socket
servidor primario tras una llamada a <function>socket_bind</function> devolverán
valores lógicos.
</para>
</note>
<note>
<para>
Para que la función <function>socket_getpeername</function> devuelva un
valor coherente, el socket sobre el que se llama a la función debe ser
evidentemente uno para el que el concepto de "peer" tiene sentido.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>socket_getsockname</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
-->