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 函数发送数据到指定的地址。最后关闭套接字。