-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathsocket-getsockname.xml
123 lines (117 loc) · 4.17 KB
/
socket-getsockname.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 14dc7c47365f2b71f6c907a5ba5bccf42534d5a9 Maintainer: songmeifeng Status: ready -->
<refentry xml:id="function.socket-getsockname" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_getsockname</refname>
<refpurpose>获取套接字本地端的名字,返回主机名和端口号或是 Unix 文件系统路径,具体取决于套接字类型</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>socket_getsockname</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>
<note>
<simpara>
<function>socket_getsockname</function> 不应该用于 <function>socket_connect</function>
创建的 <constant>AF_UNIX</constant> 类型套接字。只有使用 <function>socket_accept</function>
创建的套接字或调用过 <function>socket_bind</function> 的服务端套接字会返回有意义的值。
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>socket</parameter></term>
<listitem>
<para>
由 <function>socket_create</function> 或 <function>socket_accept</function> 创建的 <classname>Socket</classname> 实例。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>address</parameter></term>
<listitem>
<para>
如果给定套接字的类型是 <constant>AF_INET</constant>
或 <constant>AF_INET6</constant>,<function>socket_getsockname</function>
将在参数 <parameter>address</parameter> 上返回本地 <emphasis>IP 地址</emphasis>
(例如:<literal>127.0.0.1</literal> 或 <literal>fe80::1</literal>),如果存在端口号,也将关联到 <parameter>port</parameter> 参数。
</para>
<para>
如果给定套接字的类型是 <constant>AF_UNIX</constant>,<function>socket_getsockname</function>
将在 <parameter>address</parameter> 参数中返回 Unix 文件系统路径(例如:<literal>/var/run/daemon.sock</literal>)。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<para>
如果提供此参数,它将保存关联的端口号。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success; 如果套接字类型不是 <constant>AF_INET</constant>、<constant>AF_INET6</constant>
或 <constant>AF_UNIX</constant> 中的任意一个,<function>socket_getsockname</function>
也可能返回 &false;,在此情况下,套接字最后的错误码<emphasis>不会</emphasis>更新。
</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_getpeername</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
-->