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();
}*/ // 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();
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(); }