当前位置: 首页> 函数类别大全> socket_sendto

socket_sendto

向套接字发送消息,无论它是否已连接
名称:socket_sendto
分类:套接字Sockets
所属语言:php
一句话介绍:向套接字发送消息,无论它是否已连接

socket_sendto 函数

适用 PHP 版本

PHP 版本 4.0.0 及以上

函数说明

socket_sendto() 函数通过指定的 socket 发送数据到目标地址。此函数适用于基于 UDP 协议的数据传输,可以发送数据到网络上的指定主机和端口。

函数语法

socket_sendto ( resource $socket , string $message , int $length , int $flags , string $address , int $port )

参数

  • $socket (resource): 要发送数据的 socket 资源。
  • $message (string): 要发送的消息内容。
  • $length (int): 要发送的字节数。通常设置为消息内容的长度。
  • $flags (int): 标志,通常设置为 0。
  • $address (string): 目标地址。可以是 IP 地址或者主机名。
  • $port (int): 目标端口。

返回值

返回发送的字节数,如果发送失败则返回 FALSE。

示例

下面的代码演示如何使用 socket_sendto() 向指定的地址和端口发送一条简单的消息。

示例代码的说明

<?php
// 创建一个 UDP socket
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
<p>if ($socket === false) {<br>
echo "Socket 创建失败: " . socket_strerror(socket_last_error()) . "\n";<br>
exit();<br>
}</p>
<p>// 定义目标地址和端口<br>
$address = '127.0.0.1';<br>
$port = 12345;</p>
<p>// 要发送的消息<br>
$message = 'Hello, world!';</p>
<p>// 发送数据<br>
$bytes_sent = socket_sendto($socket, $message, strlen($message), 0, $address, $port);</p>
<p>if ($bytes_sent === false) {<br>
echo "发送失败: " . socket_strerror(socket_last_error($socket)) . "\n";<br>
} else {<br>
echo "成功发送 {$bytes_sent} 字节数据到 {$address}:{$port}\n";<br>
}</p>
<p>// 关闭 socket<br>
socket_close($socket);<br>
?><br>

这段代码首先创建一个 UDP socket,设置目标地址和端口,准备要发送的消息,然后调用 socket_sendto() 发送数据,最后关闭 socket。如果发送成功,会输出成功发送的数据字节数,如果失败,则会输出错误信息。

同类函数
热门文章