查询

socket_send()函数—用法及示例

「 在已连接的套接字上发送数据 」


函数名: 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 地址和端口号仅作为示范,您需要根据实际情况修改为正确的值。

补充纠错
上一个函数: socket_sendmsg()函数
下一个函数: socket_select()函数
热门PHP函数
分享链接