stream_socket_sendto
向套接字发送消息,无论它是否已连接
PHP 4.3.0 及以上版本支持此函数。
stream_socket_sendto 函数用于将数据通过一个已经打开的套接字发送到指定的目标地址。这个函数常用于UDP套接字通信中。
stream_socket_sendto(resource $socket, string $data, int $flags = 0, string $address = ?): int
如果数据发送成功,返回发送的字节数;如果发生错误,则返回 -1。
以下是使用 stream_socket_sendto 函数发送数据到指定UDP服务器的示例:
该示例代码创建了一个UDP套接字并使用 stream_socket_sendto 函数向目标地址发送数据。
$socket = stream_socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if ($socket === false) {
echo "创建套接字失败\n";
exit;
}
$address = "127.0.0.1";
$data = "Hello, UDP Server!";
$bytes_sent = stream_socket_sendto($socket, $data, 0, $address);
if ($bytes_sent === -1) {
echo "发送失败\n";
} else {
echo "成功发送 {$bytes_sent} 字节数据到 {$address}\n";
}
fclose($socket);
在这个示例中,我们首先通过 stream_socket_create 创建了一个UDP套接字。然后通过 stream_socket_sendto 函数发送数据到指定的地址。最后关闭套接字。