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 的字节长度。如果写入的字节长度大于 data 的长度,默认将被截取为 data 长度。

返回值

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

注意:

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

更新日志

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

注释

注意:

socket_write() 不一定会写入 data 的所有字节。根据网络缓冲区等因素,即使 data 较长,也可能只写入部分数据,甚至是一个字节。必须使用循环来确保已完整传输剩余 data

参见