Esempio n. 1
0
<?php

require_once "../../vendor/autoload.php";
use Hprose\Future;
use Hprose\Socket\Client;
Future\co(function () {
    $test = new Client("unix:/tmp/my.sock");
    $start = microtime(true);
    $n = 100;
    $m = 100;
    for ($j = 0; $j < $n; $j++) {
        $results = array();
        for ($i = 0; $i < $m; $i++) {
            $results[] = $test->hello("{$j}-{$i}");
        }
        (yield Future\all($results));
    }
    $total = microtime(true) - $start;
    $average = $total / $n / $m;
    var_dump($total);
    var_dump($average);
});
Esempio n. 2
0
<?php

require_once "../../vendor/autoload.php";
use Hprose\Socket\Client;
$client = new Client("tcp://127.0.0.1:2016");
$count = 0;
$client->subscribe('time', function ($date) use($client, &$count) {
    if (++$count > 10) {
        $client->unsubscribe('time');
        swoole_event_exit();
    } else {
        var_dump($date);
    }
});
Esempio n. 3
0
<?php

require_once "../../vendor/autoload.php";
use Hprose\Future;
use Hprose\Socket\Client;
$test = new Client("tcp://127.0.0.1:1314");
$test->fullDuplex = true;
$var_dump = Future\wrap("var_dump");
Future\co(function () use($test) {
    try {
        var_dump((yield $test->hello("yield world1")));
        var_dump((yield $test->hello("yield world2")));
        var_dump((yield $test->hello("yield world3")));
        var_dump((yield $test->hello("yield world4")));
        var_dump((yield $test->hello("yield world5")));
        var_dump((yield $test->hello("yield world6")));
    } catch (\Exception $e) {
        echo $e;
    }
});
$var_dump($test->hello("async world1"));
$var_dump($test->hello("async world2"));
$var_dump($test->hello("async world3"));
$var_dump($test->hello("async world4"));
$var_dump($test->hello("async world5"));
$var_dump($test->hello("async world6"));
$test->hello("world1")->then(function ($result) use($test) {
    var_dump($result);
    return $test->hello("world2");
})->then(function ($result) use($test) {
    var_dump($result);
Esempio n. 4
0
<?php

require_once "../../vendor/autoload.php";
use Hprose\Future;
use Hprose\Socket\Client;
Future\co(function () {
    $client = new Client("tcp://127.0.0.1:1980");
    $id = (yield $client->getId());
    $client->subscribe('news', $id, function ($news) {
        var_dump($news);
    });
    var_dump((yield $client->hello('hprose')));
});
Esempio n. 5
0
<?php

require_once "../../vendor/autoload.php";
use Hprose\Socket\Client;
use Hprose\InvokeSettings;
$test = new Client("tcp://127.0.0.1:1315");
$test->fullDuplex = true;
$test->timeout = 600;
$test->sum(1, 2)->catchError(function ($e) {
    //echo $e;
});
$test->sum(1, 2)->then(function ($result) {
    echo "1 + 2 = " . $result;
})->catchError(function ($e) use($test) {
    //echo $e;
    $test->sum(2, 3, new InvokeSettings(array('timeout' => 20000)))->then(function ($result) {
        echo "2 + 3 = " . $result;
    })->catchError(function ($e) {
        echo $e;
    });
});
$test->loop();