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();
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();
<?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();
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();