返回介绍

1.15.9.1 react/dns

发布于 2020-05-17 11:52:42 字数 1506 浏览 844 评论 0 收藏 0

(要求Workerman版本>=3.3.6)

安装:

composer require react/dns

示例:

<?php
require_once __DIR__ . '/vendor/autoload.php';
use WorkermanWorker;

$worker = new Worker('text://0.0.0.0:6161');

$worker->onWorkerStart = function() {
    global   $dns;
    $loop    = Worker::getEventLoop();
    $factory = new ReactDnsResolverFactory();
    $dns     = $factory->create('8.8.8.8', $loop);
};

$worker->onMessage = function($connection, $host) {
    global $dns;
    $dns->resolve($host)->then(function($ip) use($host, $connection) {
        $connection->send("$host: $ip");
    },function($e) use($host, $connection){
        $connection->send("$host: {$e->getMessage()}");
    });
};

Worker::runAll();

文档:

https://github.com/reactphp/dns

注意:

1、所有的异步编码必须在onXXX回调中编写

2、异步客户端需要的$loop变量请使用Worker::getEventLoop();返回值

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文