socket_write

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

socket_write向套接字写数据

说明

socket_write(Socket $socket, string $data, ?int $length = null): int|false

函数 socket_write()socket 写入 data

参数

socket

data

要写入到缓冲区的数据。

length

可选参数 length 可以指定写入 socket 的字节长度。如果写入的字节长度大于缓冲区长度,默认将被截取为缓冲区长度。

返回值

返回成功写入 socket 的字节数 或者在失败时返回 false。可以通过调用 socket_last_error() 来检索实际的错误码。将错误码作为参数传递给 socket_strerror() 以获得错误的文本解释。

注意:

对于 socket_wirte() 来说返回 0 是完全有效的,这代表没有字节被写入。如果发生错误,务必使用 === 运算符来判断是否为 false

更新日志

版本 说明
8.0.0 现在 socketSocket 实例, 之前是 resource
8.0.0 length 现在允许为 null。

注释

注意:

socket_write() 不一定会写入缓冲区全部的内容。根据网络缓冲区的条件,即使缓冲区待写入的数据很多,也可能只写入一部分,甚至是一个字节。因此,必须注意是否所有数据都写入成功。

参见