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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## Swoole task任務使用 繼承 server 的類都可以使用 task 任務 ``` class ws{ const HOST = '0.0.0.0'; const PORT = 8812; public $ws = null; public function __construct(){ $this->ws = new swoole_websocket_server(self::HOST, self::PORT); $this->ws->set([ 'work_num'=>2, 'task_worker_num'=>2, //要使用 task 必須設置 task_worker_num 的值 ]); $this->ws->on('open',[$this,'onOpen']); $this->ws->on('message',[$this,'onMsg']); $this->ws->on('task',[$this,'onTask']); $this->ws->on('finish',[$this,'onFinish']); $this->ws->on('close',[$this,'onClose']); $this->ws->start(); } //監聽連接事件 public function onOpen($ws, $request){ print_r($request->fd); } //監聽ws消息事件 public function onMsg($ws,$frame){ echo "ser-push-message".$frame->data."\n"; $data=[ 'name'=>'cpj', 'fd'=>$frame->fd ]; $ws->task($data); $ws->push($frame->fd,'server-push'.date('Y-m-d H:i:s',time())); } //$task_id和$src_worker_id組合起來才是全局唯一的,不同的worker進程投遞的任務ID可能會有相同 public function onTask($ws,$task_id,$src_worker_id,$data){ print_r($data); sleep(10); return "on task finish"; //告訴 worker } //接收到的 $data 就是 onTask return 內容 public function onFinish($ws,$task_id,$data){ echo "taskId : ".$task_id; echo "finish-data-success:{$data}"; } public function onClose($ws,$fd){ echo "clientid:{$fd}\n"; } } $obj = new ws(); ``` 使用 1. 通過 http_server 或直接 web_socker 訪問,當 js 觸發`websocker.send("todo")` 2. 觸發 message 事件,在 massage 中觸發 task 事件 3. 觸發 task 后觸發 onTask 的回調 4. 回調完成后觸發 onFinish 事件
                  <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>

                              哎呀哎呀视频在线观看