socket_write
写入套接字
PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
socket_write 函数用于通过一个已经打开的 socket 连接发送数据到远程服务器或客户端。
int socket_write ( resource $socket , string $data , int $length )
成功时,返回实际写入的字节数。如果失败,返回 FALSE。
以下示例演示了如何使用 socket_write 函数将数据写入一个已经建立的 socket 连接:
在这个示例中,首先创建了一个 TCP socket 连接,然后使用 socket_write 函数将字符串 "Hello, World!" 发送给服务器。
<?php
// 创建一个 TCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Socket 创建失败: " . socket_strerror(socket_last_error()) . "\n";
} else {
// 连接到服务器
$result = socket_connect($socket, '127.0.0.1', 8080);
if ($result === false) {
echo "连接失败: " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
// 发送数据
$data = "Hello, World!";
$bytes_written = socket_write($socket, $data, strlen($data));
if ($bytes_written === false) {
echo "数据发送失败: " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "成功写入 $bytes_written 字节数据\n";
}
}
// 关闭 socket
socket_close($socket);
}
?>
在这个示例中,数据成功发送后,程序会输出“成功写入 X 字节数据”,X 是实际写入的字节数。