= 4.1.0, PHP 5, PHP 7, PHP 8)socket_read — 從套接字中讀取最大長(zhǎng)度的數(shù)據(jù)說(shuō)明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從套接字中讀取最大長(zhǎng)度的數(shù)據(jù)

說(shuō)明

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

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

參數(shù)

socket

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

length

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

mode

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

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

返回值

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

注意:

當(dāng)套接字中沒(méi)有更多數(shù)據(jù)可讀取時(shí),socket_read() 返回一個(gè)長(zhǎng)度為 0 的空字符串("")。

更新日志

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

參見(jiàn)