<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之旅 廣告
                ``` php <?php $server = new swoole_websocket_server("0.0.0.0", 9501); $server->set(array( 'daemonize' => false, 'worker_num' => 2, )); $server->on('Start', function (swoole_websocket_server $server) { echo "Server Start... \n"; swoole_set_process_name("swoole_websocket_server"); }); $server->on('ManagerStart', function (swoole_websocket_server $server) { echo "ManagerStart\n"; }); $server->on('WorkerStart', function (swoole_websocket_server $server, $worker_id) { echo "WorkerStart \n"; if ($server->worker_id == 0){ swoole_timer_tick(10000,function($id) use ($server) { echo "test timer\n"; }); } }); $server->on('Open', function (swoole_websocket_server $server, $request) { echo "server: handshake success with fd{$request->fd}\n"; }); $server->on('Message', function (swoole_websocket_server $server, $frame) { echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n"; $server->push($frame->fd, "this is server"); }); $server->on('Close', function ($ser, $fd) { echo "client {$fd} closed\n"; }); $server->start(); ``` shell里直接運行`php swoole_ws_server.php`啟動即可。如果設置了后臺運行,可以使用下列命令強殺進程: ``` kill -9 $(ps aux|grep swoole|grep -v grep|awk '{print $2}') ``` 或者重新啟動worker進程: ``` kill -10 $(ps aux|grep swoole_websocket_server|grep -v grep|awk '{print $2}') ``` 輸出: ``` [2017-06-01 22:06:21 $2479.0] NOTICE Server is reloading now. WorkerStart WorkerStart ``` 注意: - onMessage回調函數為必選,當服務器收到來自客戶端的數據幀時會回調此函數。 ``` /** * @param $server * @param $frame 包含了客戶端發來的數據幀信息;使用$frame->fd獲取fd;$frame->data獲取數據內容 */ function onMessage(swoole_server $server, swoole_websocket_frame $frame) ``` - 使用`$server->push()`向客戶端發送消息。長度最大不得超過2M。發送成功返回true,發送失敗返回false。 ``` function swoole_websocket_server->push(int $fd, string $data, int $opcode = 1, bool $finish = true); ```
                  <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>

                              哎呀哎呀视频在线观看