Example #1
0
 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(); //作为守护进程
Example #3
0
<?php

require __DIR__ . '/config.php';
Swoole\Error::$echo_html = true;
$php->runMVC();