<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # onWorkerStart 啟動進程 ## 設置Worker子進程啟動時的回調函數,每個子進程啟動時都會執行。 ## 語法: ~~~ $worker->onWorkerStart = function($worker) { echo "1111" .PHP_EOL; }; ~~~ ![](https://img.kancloud.cn/01/08/01085b2e786bda4159f934d151de9134_1233x665.png) # onConnect 建立鏈接 當客戶端與Workerman建立連接時(TCP三次握手完成后)觸發的回調函數。每個連接只會觸發一次onConnect回調。 ~~~ $worker->onConnect=function ($connection){ }; ~~~ ![](https://img.kancloud.cn/2e/a3/2ea34e763b88f0cc8a6979eaecd8a1d4_1274x665.png) # onMessage 發送信息 當客戶端通過連接發來數據時(Workerman收到數據時)觸發的回調函數 回調函數的參數 ``` $connection ``` 連接對象,即TcpConnetion實例,用于操作客戶端連接,如發送數據,關閉連接等 ``` $data ``` 客戶端連接發來的數據,如果worker指定了協議,則$data是對呀協議decode(解碼)了的數據 ## 代碼案例: ~~~ $worker->onMessage=function ($connection,$data){ echo $data; //接受客戶端發來消息 $connection->send("已經收到您發來的消息---".$data.PHP_EOL); }; ~~~ ![](https://img.kancloud.cn/ec/b9/ecb9697b42f0b5901d1077514b6ec4c0_1222x502.png) ![](https://img.kancloud.cn/69/64/6964e826d5f27112a9cf886817e76902_672x575.png) # onClose 關閉連接 ## 當客戶端連接與Workerman斷開時觸發的回調函數。不管連接是如何斷開的,只要斷開就會觸發onClose。每個連接只會觸發一次onClose。 注意:如果對端是由于斷網或者斷電等極端情況斷開的連接,這時由于無法及時發送tcp的fin包給workerman,workerman就無法得知連接已經斷開,也就無法及時觸發onClose。這種情況需要通過應用層心跳來解決。workerman中連接的心跳實現參見。如果使用的是GatewayWorker框架,則直接使用GatewayWorker框架的心跳機制即可,參見這里。 # 語法: ~~~ //關閉連接 $worker->onClose=function ($connection){ echo "關閉連接"; }; ~~~ ![](https://img.kancloud.cn/36/c3/36c314f10e9023363d71f4f407dd4f7c_1632x722.png) <br/> <br/> # 以上所有的整體代碼: ~~~ <?php require_once 'workerman/Autoloader.php'; use Workerman\Worker; use Workerman\Timer; $worker = new Worker('text://0.0.0.0:8881'); $worker->count=4; //進程為CPU的2倍 $worker->name='chat'; //更改名稱 //$worker::$daemonize=true; //守護進程 $worker->onWorkerStart = function($worker) { echo "1111" .PHP_EOL; }; //準備連接 $worker->onConnect=function ($connection){ echo "連接成功---IP:".$connection->getRemoteIp(); $connection->send("連接成功---IP:".$connection->getRemoteIp()); }; //連接成功發送接收消息 $worker->onMessage=function ($connection,$data){ echo $data; //接受客戶端發來消息 $connection->send("已經收到您發來的消息---".$data.PHP_EOL); }; //關閉連接 $worker->onClose=function ($connection){ echo "關閉連接"; }; // 運行worker Worker::runAll(); ~~~
                  <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>

                              哎呀哎呀视频在线观看