<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國際加速解決方案。 廣告
                >[danger] 長短連接 任何需要從服務器中獲取數據都是需要建立連接的,并且建立連接均會有資源消耗,關閉連接則釋放資源。 * **短鏈接:** 一次連接一次交互,簡稱一次性 * 場景:web網頁、ajax、http * **長連接:** 一次連接多次交互,簡稱連綿不絕 * 場景:QQ微信聊天、直播、rpc遠程通訊 >[danger] 長連接 * **客戶端代碼** ~~~ <?php // 實例化客戶端 $client = new Swoole\Client(SWOOLE_SOCK_TCP); // 建立連接 if (!$client->connect('127.0.0.1', 9503, -1)) { exit("connect failed. Error: {$client->errCode}\n"); } // 發送 $client->send("hello world\n"); // 獲取服務端數據 echo $client->recv(); // 定時 sleep(1); // 發送 $client->send("hello world\n"); // 獲取服務端數據 echo $client->recv(); // 定時 sleep(1); // 發送 $client->send("hello world\n"); // 獲取服務端數據 echo $client->recv(); # 注:客戶端代碼執行完也會斷開 // 關閉 //$client->close(); ~~~ * **服務端代碼** ~~~ <?php echo swoole_get_local_ip()['ens33'] . ':9503' . PHP_EOL; // 實例化swoole 服務端 $server = new Swoole\Server("0.0.0.0", 9503); // 連接 $server->on('connect', function ($server, $fd){ echo "connection open: {$fd}\n"; }); // 消息 $server->on('receive', function ($server, $fd, $reactor_id, $data) { $server->send($fd, "Swoole: {$data}"); // $server->close($fd); }); // 關閉 $server->on('close', function ($server, $fd) { echo "connection close: {$fd}\n"; }); // 打開 $server->start(); ~~~ * **執行效果** 1. 開啟服務端監聽 ![](https://img.kancloud.cn/10/c3/10c308523fb2e2bcce7f0b9af46a4db8_513x262.png) 2. 客戶端執行 ![](https://img.kancloud.cn/ea/39/ea39bfdf3f8e654e1185e887884da959_402x89.png) 3. 使用常量 **SWOOLE_KEEP** 長連接 ~~~ <?php // 實例化客戶端 SWOOLE_KEEP:長連接(web) $client = new Swoole\Client(SWOOLE_SOCK_TCP | SWOOLE_KEEP); // 建立連接 if (!$client->connect('127.0.0.1', 9503, -1)) { exit("connect failed. Error: {$client->errCode}\n"); } // 發送 $client->send("hello world\n"); // 獲取服務端數據 echo $client->recv(); // 關閉 //$client->close(); ~~~ * 客戶端訪問 ![](https://img.kancloud.cn/7a/ca/7aca6c881fb9f2be88515a23d8ff2715_742x268.png) * 服務器端并未斷開 ![](https://img.kancloud.cn/b2/14/b2147dbdae5e884085c665607ee1c0e4_469x232.png)
                  <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>

                              哎呀哎呀视频在线观看