<?php require_once "../vendor/autoload.php"; use Hprose\Future; use Hprose\Swoole\Client; $test = new Client("unix:/tmp/my.sock"); $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); return $test->hello("world3");
<?php require_once "../vendor/autoload.php"; use Hprose\Swoole\Client; use Hprose\Future; 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'))); });
<?php require_once "../vendor/autoload.php"; use Hprose\Future; use Hprose\Swoole\Client; Future\co(function () { $test = new Client("tcp://127.0.0.1:1314"); $test->fullDuplex = true; $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); });
<?php require_once "../vendor/autoload.php"; use Hprose\Future; use Hprose\Swoole\Client; use HProse\Http\Client; 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->sum(1, 2)->then(function ($result) use($test) { var_dump($result); return $test->sum($result, 1);