1
0
mirror of https://github.com/danog/dns.git synced 2024-11-26 20:14:51 +01:00
Go to file
Bob Weinand 540f851e8d Fix an infinite loop when all 65536 requests are done
Also use a CSPRNG for generating random numbers (fallback to paragonie/random_compat for PHP 5)
2016-03-25 14:41:58 +01:00
lib Fix an infinite loop when all 65536 requests are done 2016-03-25 14:41:58 +01:00
test Refactor into class with accessor like in amphp/amp and amphp/file, resolves #28 2016-03-19 22:23:55 +01:00
.coveralls.yml Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.editorconfig Switch to a new API to enable getting not only the first entry and not only A/AAAA records 2015-09-08 17:27:33 +02:00
.gitattributes Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.gitignore Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.php_cs Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.travis.yml Switch to a new API to enable getting not only the first entry and not only A/AAAA records 2015-09-08 17:27:33 +02:00
composer.json Fix an infinite loop when all 65536 requests are done 2016-03-25 14:41:58 +01:00
CONTRIBUTING.md Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
LICENSE Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
phpunit.xml Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
README.md Add TODOs, update README 2015-09-18 15:09:28 +02:00

dns

Build Status CoverageStatus Unstable License

amphp/dns provides asynchronous DNS name resolution based on the amp concurrency framework.

Required PHP Version

  • PHP 5.5+

Installation

$ composer require amphp/dns:dev-master

Example

<?php

require __DIR__ . '/vendor/autoload.php';

Amp\run(function () {
    $githubIpv4 = (yield Amp\Dns\resolve("github.com", $options = ["types" => Amp\Dns\Record::A]));
    var_dump($githubIpv4);

    $googleIpv4 = Amp\Dns\resolve("google.com", $options = ["types" => Amp\Dns\Record::A]);
    $googleIpv6 = Amp\Dns\resolve("google.com", $options = ["types" => Amp\Dns\Record::AAAA]);

    $firstGoogleResult = (yield Amp\first([$ipv4Result, $ipv6Result]));
    var_dump($firstGoogleResult);
    
    $combinedGoogleResult = (yield Amp\Dns\resolve("google.com"));
    var_dump($combinedGoogleResult);
    
    $googleMx = (yield Amp\Dns\query("google.com", Amp\Dns\Record::MX);
    var_dump($googleMx);
});