Coroutine::gethostbyname
最后更新于:2022-04-02 06:26:15
# Coroutine::gethostbyname
[TOC]
将域名解析为`IP`,基于同步的线程池模拟实现。底层自动进行协程调度。
~~~
function Coroutine::gethostbyname(string $domain, int $family = AF_INET, double $timeout): string | bool
~~~
* `$domain`域名,如`www.baidu.com`
* `$family`默认为`AF_INET`表示返回`IPv4`地址,使用`AF_INET6`时返回`IPv6`地址
* `$timeout`设置超时, 单位为秒
* 成功返回域名对应的`IP`地址,失败返回`false`,可使用`swoole_last_error`获取错误信息
## 示例
~~~
use Swoole\Coroutine as co;
$ip = co::gethostbyname("www.baidu.com", AF_INET, 0.5);
~~~
## swoole\_async\_dns\_lookup\_coro
协程`DNS`查询。与`co::gethostbyname`不同,`swoole_async_dns_lookup_coro`是基于`UDP`客户端实现。不支持`/etc/hosts`配置。
函数原型:
~~~
function swoole_async_dns_lookup_coro(string $domain) : string | bool;
~~~
* 查询成功返回对应的`IP`地址
* 失败返回`false`,可使用`swoole_errno`和`swoole_last_error`得到错误信息
';