English | 简体中文 | 繁體中文
查询

socket_sendto()函数—用法及示例

「 将数据发送到指定的远程地址 」


函数名:socket_sendto()

适用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7

用法:socket_sendto(resource $socket, string $data, int $length, int $flags, string $address [, int $port = 0]) : int|false

说明: socket_sendto() 函数用于将数据发送到指定的远程地址。

参数:

  • $socket:必需,一个有效的套接字资源,由 socket_create() 创建。
  • $data:必需,要发送的数据。
  • $length:必需,要发送的数据长度。
  • $flags:可选,可用于调整发送行为的标志,默认为 0。
  • $address:必需,目标地址。
  • $port:可选,目标端口,默认为 0。

返回值:

  • 如果成功发送数据,则返回发送的字节数。
  • 如果发生错误,则返回 false,并可以通过调用 socket_last_error() 获取错误代码。

示例:

// 创建套接字
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

// 目标地址和端口
$address = '127.0.0.1';
$port = 1234;

// 要发送的数据
$data = 'Hello, server!';

// 发送数据到指定地址
if (socket_sendto($socket, $data, strlen($data), 0, $address, $port) === false) {
    echo "发送数据失败: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "成功发送了 " . strlen($data) . " 字节的数据到 $address:$port\n";
}

// 关闭套接字
socket_close($socket);

注意事项:

  • 在使用 socket_sendto() 函数之前,必须先通过 socket_create() 创建一个套接字。
  • 请确保传递正确的目标地址和端口,以确保数据发送到正确的目标。
  • 如果发送失败,可以通过调用 socket_last_error() 获取错误代码,并使用 socket_strerror() 将错误代码转换为可读的错误信息。
  • 在完成发送后,应使用 socket_close() 关闭套接字,以释放资源。
补充纠错
上一个函数: socket_setopt()函数
下一个函数: socket_sendmsg()函数
热门PHP函数
分享链接