Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: socket_write - Manual
[go: Go Back, main page]

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

search for in the

Standard PHP Library (SPL) 関数" width="11" height="7"/> <socket_strerror
Last updated: Thu, 31 May 2007

view this page in

socket_write

(PHP 4 >= 4.0.7, PHP 5)

socket_write — ソケットに書き込む

説明

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

関数 socket_write() は、 buffer の内容をソケット socket に書き込みます。

オプションのパラメータ length で、ソケットに 書き込むバイト数を指定することが可能です。この値がバッファの長さより 大きい場合、自動的にバッファのサイズに切り詰められます。

ソケットへの書き込みに成功したデータのバイト数を返します。エラー時には FALSE を返します。エラーコードは socket_last_error() を用いて取得することができ、この値を socket_strerror() に渡すことでエラー情報を文字列で取得可能です。

注意: socket_write() は、バッファの内容を必ずしもすべて 書き込むとは限りません。ネットワークバッファの状態にもよりますが、 たとえ 1 バイトだけ書き込まれたのであったとしても、それはエラーでは なく正常な動作です。そのため、データがすべて書き込まれたのかどうかに 注意する必要があります。

注意: socket_write() がゼロを返すことも十分ありえます。 これは、書き込むデータが存在しなかったことを意味します。エラーを チェックするために FALSE かどうかを調べる際には、必ず === 演算子を使用しましょう。

socket_accept()socket_bind()socket_connect()socket_listen()socket_read() および socket_strerror() も参照ください。



add a note add a note User Contributed Notes
socket_write
webmaster at you-are-infected dot com
24-Aug-2006 02: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 08: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.

 
show source | credits | sitemap | contact | advertising | mirror sites