socket_addrinfo_bind
从给定的addrinfo创建并绑定到套接字
PHP 7.0.0 及以上版本
socket_addrinfo_bind 函数用于将一个给定的地址信息(由 getaddrinfo 函数返回)绑定到一个套接字。这个函数通常用于创建一个套接字并将其与指定的地址(如 IP 地址和端口)关联,使得套接字可以在该地址上进行监听或通信。
bool socket_addrinfo_bind ( resource $socket , array $addrinfo [, int $flags = 0 ] )
如果绑定成功,返回 true;如果失败,返回 false。
以下是一个使用 socket_addrinfo_bind 函数将一个套接字绑定到指定地址的示例:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "无法创建套接字: " . socket_strerror(socket_last_error()) . "\n"; exit; } <p>$host = '127.0.0.1';<br> $port = 8080;<br> $addrinfo = getaddrinfo($host, $port, SOCK_STREAM, SOL_TCP);</p> <p>if (socket_addrinfo_bind($socket, $addrinfo)) {<br> echo "成功绑定套接字到 $host:$port\n";<br> } else {<br> echo "绑定失败: " . socket_strerror(socket_last_error($socket)) . "\n";<br> }</p> <p>socket_close($socket);<br>
在这个示例中,首先通过 socket_create 创建了一个 TCP 套接字。接着使用 getaddrinfo 获取地址信息(包括主机名和端口)。然后,使用 socket_addrinfo_bind 将套接字绑定到该地址。最后,通过 socket_close 关闭套接字。