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

stream_socket_client

打开Internet或Unix域套接字连接
名称:stream_socket_client
分类:Stream
所属语言:php
一句话介绍:打开Internet或Unix域套接字连接

stream_socket_client函数详解

适用PHP版本

PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8

函数说明

stream_socket_client函数用于打开一个客户端套接字连接,通常用于TCP、UDP等网络协议的客户端连接。它允许通过指定目标地址和端口号来连接到远程服务器,支持IPv4和IPv6。

函数语法

stream_socket_client(string $hostname, ?int &$errno = null, ?string &$errstr = null, float $timeout = 30.0, int $flags = 0, ?resource $context = null): resource|false

参数

  • $hostname (string): 必须参数,目标主机的地址和端口,格式可以是"tcp://hostname:port" 或者 "udp://hostname:port"。
  • $errno (?int): 可选参数,用于存储错误代码,传递给调用者。默认值为null。
  • $errstr (?string): 可选参数,用于存储错误信息,传递给调用者。默认值为null。
  • $timeout (float): 可选参数,连接超时时间,单位为秒。默认为30秒。
  • $flags (int): 可选参数,指定额外的标志。默认为0。
  • $context (?resource): 可选参数,指定一个流上下文。默认值为null。

返回值

如果连接成功,返回一个有效的流资源(resource);如果失败,返回false。

示例

$host = 'tcp://www.example.com:80';
$errno = 0;
$errstr = '';
$timeout = 10;
<p>$socket = stream_socket_client($host, $errno, $errstr, $timeout);</p>
<p>if ($socket === false) {<br>
echo "连接失败: $errstr ($errno)";<br>
} else {<br>
echo "连接成功!";<br>
fclose($socket);<br>
}<br>

示例代码的说明

在上面的示例中,首先定义了目标主机和端口(www.example.com:80)。然后,调用stream_socket_client函数连接该主机,设置了10秒的超时。若连接成功,返回的$socket将是一个有效的流资源,我们可以使用它进行后续的网络通信。如果连接失败,会输出错误信息。

同类函数