-
Notifications
You must be signed in to change notification settings - Fork 81
Expand file tree
/
Copy pathsocket-listen.xml
More file actions
135 lines (129 loc) · 4.59 KB
/
socket-listen.xml
File metadata and controls
135 lines (129 loc) · 4.59 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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 14dc7c47365f2b71f6c907a5ba5bccf42534d5a9 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi,mumumu -->
<refentry xml:id="function.socket-listen" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_listen</refname>
<refpurpose>ソケット上で接続待ち(listen)する</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>
ソケット <parameter>socket</parameter> が
<function>socket_create</function> を用いて作成され、
<function>socket_bind</function> で名前が付けられた後、
<parameter>socket</parameter> 上の接続要求を待つための通信ができるようになります。
</para>
<para>
<function>socket_listen</function> は、ソケットが
<literal>SOCK_STREAM</literal> 型または
<literal>SOCK_SEQPACKET</literal> 型の場合のみ利用可能です。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>socket</parameter></term>
<listitem>
<para>
<function>socket_create</function>
または <function>socket_addrinfo_bind</function> で作成した
有効な <classname>Socket</classname> クラスのインスタンス。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>backlog</parameter></term>
<listitem>
<para>
最大 <parameter>backlog</parameter> 個の接続を処理用の
キューで待ち受けることが可能です。もし待ちうけ用のキューが
いっぱいになった場合、クライアントでは <literal>ECONNREFUSED</literal>
の通知とともにエラーが発生します。あるいは、もし基盤となるプロトコルが
リクエストの再送をサポートしている場合、再試行が成功するまで
リクエストは無視されます。
</para>
<note>
<para>
<parameter>backlog</parameter> パラメータに指定できる値の最大値は
プラットフォームに大きく依存します。Linux では、最大値は
<constant>SOMAXCONN</constant> に切り詰められます。win32 では、
もし <constant>SOMAXCONN</constant> を渡した場合、backlog の
最大値を<emphasis>適切な</emphasis>値に設定する責任はサービスの
提供側が負います。
このプラットフォームでは、実際の backlog の値を見つける標準的な
手段が提供されていません。
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success; エラーコードは <function>socket_last_error</function>
で取得可能で、このコードを
<function>socket_strerror</function> に指定することにより
エラーの内容を文字列として取得可能です。
</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
-->