函式: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()函式關閉套接字。