array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.socket-read.php', 1 => 'socket_read', ), 'up' => array ( 0 => 'ref.sockets.php', 1 => 'Socket 函数', ), 'prev' => array ( 0 => 'function.socket-listen.php', 1 => 'socket_listen', ), 'next' => array ( 0 => 'function.socket-recv.php', 1 => 'socket_recv', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/sockets/functions/socket-read.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_read — 从套接字中读取最大长度的数据
socket_read() 函数是从 socket_create()
或 socket_accept() 函数所创建的 Socket
实例 socket
中读取数据。
socket
使用 socket_create() 或 socket_accept() 函数创建的 Socket 实例。
length
length
参数指定了最大能够读取的字节数。否则您可以使用
\r
、\n
、\0
结束读取(根据 mode
参数设置,请参见下文)。
mode
可选参数 mode
是一个命名常量:
PHP_BINARY_READ
(默认)- 使用系统的
recv()
函数。二进制安全地读取数据。
PHP_NORMAL_READ
- 读取到
\n
、\r
时停止。
socket_read() 返回一个字符串,表示接收到的数据。如果发生了错误(包括远程主机关闭了连接),则返回 false
。错误码可使用
socket_last_error() 获取。也可使用 socket_strerror()
来获取错误码的文字描述。
注意:
当套接字中没有更多数据可读取时,socket_read() 返回一个长度为 0 的空字符串("")。