PHP: socket_write - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

spl socket_strerror

Last updated: Fri, 26 Jan 2007

view this page in

# socket_write

(PHP 4 >= 4.1.0, PHP 5)

socket_write -- Write to a socket

## Description

int socket_write ( resource socket, string buffer [, int length] )

The function socket_write() writes to the socket `socket` from `buffer`.

The optional parameter `length` 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.

Returns the number of bytes successfully written to the socket or `FALSE` one error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

> Замечание: socket_write() 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.

> Замечание: It is perfectly valid for socket_write() to return zero which means no bytes have been written. Be sure to use the `===` operator to check for `FALSE` in case of an error.

See also socket_accept(), socket_bind(), socket_connect(), socket_listen(), socket_read() and socket_strerror().

add a note User Contributed Notes
socket_write
webmaster at you-are-infected dot com
23-Aug-2006 10:27
`If you connect to a Server in a way like you do with telnet or some similar protokoll you may have problems with sending data to the server. I found out that at some servers there is a different between:
<?php
socket_write ($my_socket, $line, strlen ($line));
socket_write ($my_socket, "\r\n", strlen ("\r\n"));
?>
witch worked at least, and
<?php
socket_write ($my_socket, $line."\r\n", strlen ($line."\r\n"));
?>
wich made the server stop sending any data.
I hope this helps to save a lot of time. I needed about two days to find out, that this was the problem ;)`
gtk at linux dot online dot no
20-Aug-2002 04:43
`from http://www.manualy.sk/sock-faq/unix-socket-faq-2.html
read() is equivalent to recv() with a flags parameter of 0. Other values for the flags parameter change the behaviour of recv(). Similarly, write() is equivalent to send() with flags == 0.`
add a note
spl socket_strerror

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 11:33:19 2007 PST