Example #1
0
 public function init()
 {
     $this->checkStatus();
     $pid = posix_getpid();
     file_put_contents($this->cacheDir . "/pid", $pid);
     $server_type = $this->server_type;
     $server = $this->config['server'];
     $server = $server[$server_type];
     $server = $server_type . "://" . $server['host'] . ":" . $server['port'] . "/";
     $server = new HproseSwooleServer($server);
     $server->set($this->config['setting']);
     $this->server = $server;
     $server->server->on('WorkerStart', array($this, 'blindClass'));
     $server->start();
 }
}*/
// swoole 1.7.16+
function asyncHello($name, $callback)
{
    swoole_timer_after(3000, function () use($name, $callback) {
        $callback("Hello async {$name}!");
    });
}
class TestModel
{
    public function edg()
    {
        return 'one';
    }
}
class B
{
    public function aa()
    {
        return "ced";
    }
}
$server = new HproseSwooleServer("tcp://127.0.0.1:1504");
$server->setErrorTypes(E_ALL);
$server->setDebugEnabled();
#$server->addFunction('hello');
$server->add(new TestModel(), '', 'test');
#$server->add(new B(),'b');
#$server->addFunctions(array('e', 'ee'));
#$server->addAsyncFunction('asyncHello');
$server->start();
Example #3
0
            if (isset($this->getMessage[$who])) {
                unset($this->getMessage[$who]);
                $completer->complete(null);
            }
        });
        $this->getMessage[$who] = $getMessage;
        return $completer->future();
    }
    public function sendMessage($from, $to, $message)
    {
        $this->online($from);
        if (!isset($this->gens[$to])) {
            return $to . "is offline.";
        }
        $this->gens[$to]->send($from . " talk to me: " . $message . "\r\n");
        $this->gens[$from]->send("I talk to " . $to . ": " . $message . "\r\n");
    }
    public function broadcast($from, $message)
    {
        $this->online($from);
        foreach ($this->gens as $gen) {
            $gen->send($from . " said: " . $message . "\r\n");
        }
    }
}
$server = new HproseSwooleServer("ws://0.0.0.0:8080", SWOOLE_BASE);
$server->setErrorTypes(E_ALL);
$server->setDebugEnabled(true);
$server->setCrossDomainEnabled(true);
$server->add(new Chat());
$server->start();
Example #4
0
<?php

require_once '../src/Hprose.php';
function hello($name)
{
    echo "Hello {$name}!";
    return "Hello {$name}!";
}
function e()
{
    throw new Exception("I am Exception");
}
function ee()
{
    require "andot";
}
// swoole 1.7.16+
function asyncHello($name, $callback)
{
    swoole_timer_after(3000, function () use($name, $callback) {
        $callback("Hello async {$name}!");
    });
}
$server = new HproseSwooleServer("ws://0.0.0.0:8080");
$server->setErrorTypes(E_ALL);
$server->setDebugEnabled();
$server->addFunction('hello');
$server->addFunctions(array('e', 'ee'));
$server->addAsyncFunction('asyncHello');
$server->start();
Example #5
0
 public function swooletcpserverAction()
 {
     $server = new HproseSwooleServer("tcp://127.0.0.1:1504");
     $server->setErrorTypes(E_ALL);
     $server->setDebugEnabled();
     $server->add(new TestModel(), '', 'test');
     $server->start();
 }
    return "Hello {$name}!";
}
function e()
{
    throw new Exception("I am Exception");
}
function ee()
{
    require "andot";
}
// swoole 1.7.16+
function asyncHello($name, $callback)
{
    swoole_timer_after(3000, function () use($name, $callback) {
        $callback("Hello async {$name}!");
    });
}
function dnslookup($domain_name, $callback)
{
    swoole_async_dns_lookup($domain_name, function ($host, $ip) use($callback) {
        $callback($ip);
    });
}
$server = new HproseSwooleServer("http://0.0.0.0:8000");
$server->setErrorTypes(E_ALL);
$server->setDebugEnabled();
$server->addFunction('hello');
$server->addFunctions(array('e', 'ee'));
$server->addAsyncFunctions(array('asyncHello', 'dnslookup'));
$server->setFilter(new HproseJSONRPCServiceFilter());
$server->start();