-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy pathsocket-write.xml
More file actions
149 lines (142 loc) · 4.58 KB
/
socket-write.xml
File metadata and controls
149 lines (142 loc) · 4.58 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"?>
<!-- EN-Revision: 2ca1058473429d338de6eb773f268fc18a71d2f9 Maintainer: conni Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.socket-write" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>socket_write</refname>
<refpurpose>Schreibt in einen Socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>socket_write</methodname>
<methodparam><type>Socket</type><parameter>socket</parameter></methodparam>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>length</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Die Funktion <function>socket_write</function> schreibt aus dem Puffer
<parameter>data</parameter> in den Socket <parameter>socket</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>socket</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
Der Puffer, dessen Inhalt geschrieben werden soll.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Mit dem optionalen Parameter <parameter>length</parameter> kann man
alternativ eine Anzahl von Bytes angeben, die in den Socket geschrieben
werden sollen. Falls diese Anzahl größer ist, als
<parameter>data</parameter>, wird sie stillschweigend auf die Größe von
<parameter>data</parameter> gekürzt.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt die Anzahl der erfolgreich in den Socket geschriebenen Bytes zurück.
&return.falseforfailure;. Der Fehlercode kann mit der Funktion
<function>socket_last_error</function> ermittelt werden. Dieser Fehlercode
kann an die Funktion <function>socket_strerror</function> übergeben werden,
um eine textuelle Beschreibung des Fehlers zu erhalten.
</para>
<note>
<para>
Es ist durchaus möglich, dass <function>socket_write</function> den Wert 0
zurckgibt, was bedeutet, dass kein einziges Byte geschrieben wurde.
Vergewissern Sie sich, dass Sie den Operator <literal>===</literal>
benutzen, um im Falle eines Fehlers auf &false; zu testen.
</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>length</parameter> ist nun ein Nullable-Typ.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<function>socket_write</function> schreibt nicht notwendigerweise alle
Bytes aus <parameter>data</parameter>. Abhängig von den Puffern im Netzwerk
usw. kann es sein, dass nur eine bestimmte Datenmenge, sogar nur ein Byte,
geschrieben wird, obwohl <parameter>data</parameter> größer ist.
Um sicherzustellen, dass der Rest von <parameter>data</parameter>
übertragen wird, muss eine Schleife verwendet werden.
</para>
</note>
</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_listen</function></member>
<member><function>socket_read</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
-->