private function __construct() { if (!defined('DEBUG')) { define('DEBUG', 'on'); } if (DEBUG == 'off') { \error_reporting(0); } $this->env['sapi_name'] = php_sapi_name(); if ($this->env['sapi_name'] != 'cli') { Swoole\Error::$echo_html = true; } if (empty(self::$app_path)) { if (defined('WEBPATH')) { self::$app_path = WEBPATH . '/apps'; } else { Swoole\Error::info("core error", __CLASS__ . ": Swoole::\$app_path and WEBPATH empty."); } } define('APPSPATH', self::$app_path); //将此目录作为App命名空间的根目录 Swoole\Loader::setRootNS('App', self::$app_path . '/classes'); $this->load = new Swoole\Loader($this); $this->model = new Swoole\ModelLoader($this); //路由钩子,URLRewrite $this->addHook(Swoole::HOOK_ROUTE, 'swoole_urlrouter_rewrite'); //mvc $this->addHook(Swoole::HOOK_ROUTE, 'swoole_urlrouter_mvc'); //设置路由函数 $this->router(array($this, 'urlRoute')); }
$this->log("onMessage: " . $client_id . ' = ' . $ws['message']); $this->send($client_id, 'Server: ' . $ws['message']); //$this->broadcast($client_id, $ws['message']); } function broadcast($client_id, $msg) { foreach ($this->connections as $clid => $info) { if ($client_id != $clid) { $this->send($clid, $msg); } } } } //require __DIR__'/phar://swoole.phar'; Swoole\Config::$debug = true; Swoole\Error::$echo_html = false; $AppSvr = new WebSocket(); $AppSvr->loadSetting(__DIR__ . "/swoole.ini"); //加载配置文件 $AppSvr->setLogger(new \Swoole\Log\EchoLog(true)); //Logger /** * 如果你没有安装swoole扩展,这里还可选择 * BlockTCP 阻塞的TCP,支持windows平台 * SelectTCP 使用select做事件循环,支持windows平台 * EventTCP 使用libevent,需要安装libevent扩展 */ $enable_ssl = false; $server = Swoole\Network\Server::autoCreate('0.0.0.0', 9443, $enable_ssl); $server->setProtocol($AppSvr); //$server->daemonize(); //作为守护进程
<?php require __DIR__ . '/config.php'; Swoole\Error::$echo_html = true; $php->runMVC();