函数:socket_create()
适用版本:PHP 4, PHP 5, PHP 7
用法:socket_create()函数用于创建一个套接字(socket)资源。
语法:resource socket_create(int $domain, int $type, int $protocol)
参数:
- $domain:指定套接字的协议族,可以是以下常量之一:
- AF_INET:IPv4协议族
- AF_INET6:IPv6协议族
- AF_UNIX:本地通信协议族
- $type:指定套接字的类型,可以是以下常量之一:
- SOCK_STREAM:流套接字,使用TCP协议
- SOCK_DGRAM:数据报套接字,使用UDP协议
- SOCK_RAW:原始套接字,可以访问底层协议
- $protocol:指定套接字使用的协议,可以是以下常量之一:
- SOL_TCP:TCP协议
- SOL_UDP:UDP协议
- SOL_SOCKET:底层套接字协议
返回值:成功时返回一个套接字资源,失败时返回false。
示例:
<?php
// 创建一个TCP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "套接字创建失败: " . socket_strerror(socket_last_error()) . PHP_EOL;
} else {
echo "套接字创建成功!" . PHP_EOL;
// 关闭套接字
socket_close($socket);
}
?>
上述示例中,使用socket_create()函数创建了一个TCP套接字,指定了协议族为IPv4(AF_INET),套接字类型为流套接字(SOCK_STREAM),协议为TCP(SOL_TCP)。如果创建成功,则打印"套接字创建成功!",否则打印创建失败的错误信息。最后使用socket_close()函数关闭套接字。