<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 框架入口 AppServer是SD框架的入口類,它管理著框架啟動的所有準備工作,這個類不會被Reload重載,也就是說如果修改了此類想讓其生效,那么必須重新啟動服務器通過Reload的方法是無法實現代碼熱更新的。 AppServer繼承SwooleDistributedServer類,SwooleDistributedServer絕大部分的函數作為使用者來說不是很常用,接下來我們介紹些常用的方法。 # __construct 可以在這定義自定義Loader ```php /** * 可以在這里自定義Loader,但必須是ILoader接口 * AppServer constructor. */ public function __construct() { $this->setLoader(new Loader()); parent::__construct(); } ``` # getEventControllerName 通過此函數可以將connect和close的回調路由到控制器中。 ```php /** * @return string */ public function getEventControllerName() { return 'AppController'; } ``` # getConnectMethodName 客戶端連接的信息會路由到AppController中onConnect方法。 如果在business.php配置中設置了前綴,控制器方法也需要包含前綴。 ```php /** * @return string */ public function getConnectMethodName() { return 'onConnect'; } ``` # getCloseMethodName 客戶端關閉連接的信息會路由到AppController中onClose方法。 如果在business.php配置中設置了前綴,控制器方法也需要包含前綴。 ```php /** * @return string */ public function getCloseMethodName() { return 'onClose'; } ``` # onOpenServiceInitialization 這個方法是服務器啟動時第一時間調用的方法,并且內部實現了鎖的操作,無論開多少個進程只會有一個進程會執行該方法,并且無論怎么reload也只會在啟動時執行僅僅一次。 我們可以在這個方法內實現開服初始化的工作,這里支持協程,可以通過協程描繪異步調用。甚至你可以使用loader加載調用Model或者Task。 # clearState 這個方法和onOpenServiceInitialization類似也是開服的初始化工作,但區別在于這是在服務器啟動前做的操作,所以并不支持任何異步屬性,如果你操作mysql只能使用pdo的方式,redis也只能使用擴展的方式。 # initAsynPools 這里主要是進行異步客戶端的初始化工作,onSwooleWorkerStart后會調用initAsynPools 進行客戶端的初始化。開發者可以在此函數中添加自定義的客戶端,比如額外的redis,額外的mysql,mqtt,httpclient等。 ```php $this->addAsynPool('GetIPAddress',new HttpClientPool($this->config,'http://int.dpool.sina.com.cn')); ``` 用法很簡單通過addAsynPool添加一個署名的客戶端實例。 在Controller和Model中可以通過get_instance()->getAsynPool('GetIPAddress')獲取名為GetIPAddress的實例。 # beforeSwooleStart 這里是進階用法,熟悉swoole的開發者如果想創建自己的進程或者共享Table或者開放更多的端口,那么可以在這個函數中處理,名字表示的含義很清晰這是在swoole服務start方法之前調用的。 查看SwooleDistributedServer的beforeSwooleStart你會發現更多用法。 ```php $this->uid_fd_table = new \swoole_table(65536); $this->uid_fd_table->column('fd', \swoole_table::TYPE_INT, 8); $this->uid_fd_table->create(); ``` # get_instance() get_instance()是個幫助函數,他始終返回的是SwooleDistributedServer實例,可以在代碼任何位置訪問到。 # startProcess 啟動用戶進程 ```php /** * 用戶進程 */ public function startProcess() { parent::startProcess(); //ProcessManager::getInstance()->addProcess(MyProcess::class); } ``` # onWebSocketHandCheck ```php /** * 可以在這驗證WebSocket連接,return true代表可以握手,false代表拒絕 * @param HttpInput $httpInput * @return bool */ public function onWebSocketHandCheck(HttpInput $httpInput) { return true; } ``` # 更多 如果想知道SwooleDistributedServer更多的API請查看類介紹中SwooleDistributedServer章節。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看