File: socket-write.xml

package info (click to toggle)
php-doc 20081024-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 57,752 kB
  • ctags: 3,858
  • sloc: xml: 686,554; php: 19,446; perl: 610; cpp: 500; makefile: 336; sh: 114; awk: 28
file content (125 lines) | stat: -rw-r--r-- 3,691 bytes parent folder | download
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
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.7 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.socket-write">
 <refnamediv>
  <refname>socket_write</refname>
  <refpurpose>Write to a socket</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>int</type><methodname>socket_write</methodname>
   <methodparam><type>resource</type><parameter>socket</parameter></methodparam>
   <methodparam><type>string</type><parameter>buffer</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
  </methodsynopsis>
  <para>
   The function <function>socket_write</function> writes to the
   <parameter>socket</parameter> from the given
   <parameter>buffer</parameter>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>socket</parameter></term>
     <listitem>
      <para>
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>buffer</parameter></term>
     <listitem>
      <para>
       The buffer to be written.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>length</parameter></term>
     <listitem>
      <para>
       The optional parameter <parameter>length</parameter> can specify an
       alternate length of bytes written to the socket. If this length is
       greater then the buffer length, it is silently truncated to the length
       of the buffer.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns the number of bytes successfully written to the socket or &false;
   one error. The error code can be retrieved with
   <function>socket_last_error</function>. This code may be passed to
   <function>socket_strerror</function> to get a textual explanation of the
   error.
  </para>
  <note>
   <para>
    It is perfectly valid for <function>socket_write</function> to
    return zero which means no bytes have been written. Be sure to use the
    <literal>===</literal> operator to check for &false; in case of an
    error.
   </para>
  </note>
 </refsect1>

 <refsect1 role="notes">
  &reftitle.notes;
  <note>
   <para>
    <function>socket_write</function> does not necessarily write all bytes
    from the given buffer. It's valid that, depending on the network
    buffers etc., only a certain amount of data, even one byte, is written
    though your buffer is greater. You have to watch out so you don't
    unintentionally forget to transmit the rest of your data.
   </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:"../../../../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
-->