建立composer.json
代码语言:javascript复制{
"name": "hprose/examples",
"description": "examples of hprose",
"authors": [
{
"name": "andot",
"email": "mabingyao@gmail.com"
}
],
"require": {
"php": ">=5.3.0",
"hprose/hprose": "dev-master"
}
}
执行
代码语言:javascript复制composer install
建立server.php
代码语言:javascript复制<?php
require_once "./vendor/autoload.php";
use HproseSocketServer;
function hello($name) {
return "Hello $name!";
}
$server = new Server("tcp://0.0.0.0:1314");
$server->setErrorTypes(E_ALL);
$server->setDebugEnabled();
$server->addFunction('hello');
$server->start();
建立client.php
代码语言:javascript复制<?php
require_once "./vendor/autoload.php";
use HproseFuture;
use HproseSocketClient;
$test = new Client("tcp://127.0.0.1:1314");
$test->fullDuplex = true;
Futureco(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);
}
});
执行
代码语言:javascript复制php server.php
php client.php
结果
代码语言:javascript复制string(19) "Hello yield world1!"
string(19) "Hello yield world2!"
string(19) "Hello yield world3!"
string(19) "Hello yield world4!"
string(19) "Hello yield world5!"
string(19) "Hello yield world6!"