Exemplo n.º 1
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();
Exemplo n.º 2
0
}*/
// 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();
Exemplo n.º 3
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();
 }