<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 功能強大 支持多語言、二開方便! 廣告
                ## Swoole Swoole 本身提供了 [協程版本的客戶端](https://wiki.swoole.com/wiki/page/868.html),因為高度封裝,所以 mix 就不封裝了,用戶可直接在 mix 中使用,下面是一個原生 DEMO。 - 將下面代碼保存為 `client.php`: > 在 mix 使用時 `\Swoole\Coroutine\run` 用 `xgo` 代替 ~~~ <?php \Swoole\Coroutine\run(function () { $cli = new \Swoole\Coroutine\http\Client('127.0.0.1', 9502); $ret = $cli->upgrade("/websocket"); if ($ret) { $frame = new Swoole\WebSocket\Frame(); $frame->opcode = SWOOLE_WEBSOCKET_OPCODE_TEXT; $frame->data = '{"method":"join.room","params":[1012,"小明"],"id":1}'; $cli->push($frame); $frame = new Swoole\WebSocket\Frame(); $frame->opcode = SWOOLE_WEBSOCKET_OPCODE_TEXT; $frame->data = '{"method":"message.emit","params":["大家好"],"id":2}'; $cli->push($frame); while (true) { $data = $cli->recv(); if (!$data || $data instanceof \Swoole\WebSocket\CloseFrame) { echo "disconnect" . PHP_EOL; break; } var_dump($data); } } }); ~~~ **1. 啟動 mix-websocketd 服務** ~~~ php bin/mix.php ws:start --host=0.0.0.0 --port=9502 ~~~ **2. 執行 `client.php`** ~~~ php client.php ~~~ 接收到加入成功的消息: ~~~ [root@localhost /]# php client.php object(Swoole\WebSocket\Frame)#4 (4) { ["fd"]=> int(0) ["data"]=> string(67) "{"jsonrpc":"2.0","error":null,"result":{"status":"success"},"id":1}" ["opcode"]=> int(1) ["finish"]=> bool(true) } object(Swoole\WebSocket\Frame)#5 (4) { ["fd"]=> int(0) ["data"]=> string(67) "{"jsonrpc":"2.0","error":null,"result":{"status":"success"},"id":2}" ["opcode"]=> int(1) ["finish"]=> bool(true) } object(Swoole\WebSocket\Frame)#4 (4) { ["fd"]=> int(0) ["data"]=> string(90) "{"jsonrpc":"2.0","method":"message.update","params":["大家好",1012,"小明"],"id":null}" ["opcode"]=> int(1) ["finish"]=> bool(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>

                              哎呀哎呀视频在线观看