= 4.1.0, PHP 5, PHP 7, PHP 8)socket_read — 從套接字中讀取最大長度的數(shù)據(jù)說明socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ): s">

socket_read

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_read從套接字中讀取最大長度的數(shù)據(jù)

說明

socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ): string|false

socket_read() 函數(shù)是從 socket_create()socket_accept() 函數(shù)所創(chuàng)建的 Socket 實例 socket 中讀取數(shù)據(jù)。

參數(shù)

socket

使用 socket_create()socket_accept() 函數(shù)創(chuàng)建的 Socket 實例。

length

length 參數(shù)指定了最大能夠讀取的字節(jié)數(shù)。否則您可以使用 \r\n、\0 結束讀取(根據(jù) mode 參數(shù)設置,請參見下文)。

mode

可選參數(shù) mode 是一個命名常量:

  • PHP_BINARY_READ (默認)- 使用系統(tǒng)的 recv() 函數(shù)。二進制安全地讀取數(shù)據(jù)。
  • PHP_NORMAL_READ - 讀取到 \n、\r 時停止。

返回值

socket_read() 返回一個字符串,表示接收到的數(shù)據(jù)。如果發(fā)生了錯誤(包括遠程主機關閉了連接),則返回 false。錯誤碼可使用 socket_last_error() 獲取。也可使用 socket_strerror() 來獲取錯誤碼的文字描述。

注意:

當套接字中沒有更多數(shù)據(jù)可讀取時,socket_read() 返回一個長度為 0 的空字符串("")。

更新日志

版本 說明
8.0.0 現(xiàn)在 socketSocket 實例, 之前是 resource

參見