函数名: socket_send()
适用版本: PHP 4 >= 4.1.0, PHP 5, PHP 7
用法: int socket_send ( resource $socket , string $buf , int $len , int $flags )
说明: socket_send() 函数用于在已连接的套接字上发送数据。此函数将指定的数据发送到套接字连接的另一端。
参数:
- $socket:已连接的套接字资源,通过 socket_create() 和 socket_connect() 创建。
- $buf:要发送的数据,必须是字符串类型。
- $len:要发送的数据长度。
- $flags:可选参数,可以设置为以下常量之一:
- MSG_OOB:发送带外数据。
- MSG_EOR:在数据末尾添加一个 EOR (end-of-record) 标记。
- MSG_EOF:发送一个文件结束符。
- MSG_DONTROUTE:不使用路由表发送数据。
返回值:成功时返回发送的字节数,失败时返回 FALSE。
示例:
// 创建套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// 连接到服务器
$result = socket_connect($socket, '127.0.0.1', 8080);
if ($result === false) {
echo "socket_connect() failed: " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
}
// 发送数据
$data = "Hello, server!";
$bytesSent = socket_send($socket, $data, strlen($data), 0);
if ($bytesSent === false) {
echo "socket_send() failed: " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
}
echo "Sent $bytesSent bytes to server.\n";
// 关闭套接字
socket_close($socket);
上述示例中,我们首先创建了一个套接字,然后通过 socket_connect() 函数将套接字连接到服务器。接下来,我们使用 socket_send() 函数发送了一个字符串数据给服务器。最后,我们关闭了套接字。
请注意,示例中的 IP 地址和端口号仅作为示范,您需要根据实际情况修改为正确的值。