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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # swoole_client->close 關閉連接,函數原型為: ```php bool $swoole_client->close(bool $force = false); ``` 操作成功返回 **true**。當一個swoole_client連接被close后不要再次發起connect。正確的做法是銷毀當前的swoole_client,重新創建一個swoole_client并發起新的連接。 * 第一個參數設置為`true`表示強制關閉連接,可用于關閉`SWOOLE_KEEP`長連接 > swoole_client對象在析構時會自動close 異步客戶端 ---- 客戶端`close`會立即關閉連接,如果發送隊列中仍然有待數據,底層會丟棄。請勿在大量發送數據后,立即`close`,否則發送的數據未必能真正到達服務器端。 #### 錯誤實例 ```php $client = new swoole_client(SWOOLE_TCP | SWOOLE_ASYNC); $client->on("connect", function(swoole_client $cli) { }); $client->on("receive", function(swoole_client $cli, $data){ $cli->send(str_repeat('A', 1024*1024*4)."\n"); $cli->close(); }); $client->on("error", function(swoole_client $cli){ echo "error\n"; }); $client->on("close", function(swoole_client $cli){ echo "Connection close\n"; }); $client->connect('127.0.0.1', 9501); ``` 客戶端發送了`4M`數據,實際傳輸可能需要一段時間。這是立即進行了`close`操作,可能只有小部分數據傳輸成功。大部分數據在發送隊列中排隊等待發送,`close`時會丟棄這些數據。 #### 解決方案 * 配合使用`onBufferEmpty`,等待發送隊列為空時進行`close`操作 * 協議設計為`onReceive`收到數據后主動關閉連接,發送數據時對端主動關閉連接 ```php $client = new swoole_client(SWOOLE_TCP | SWOOLE_ASYNC); $client->on("connect", function(swoole_client $cli) { }); $client->on("receive", function(swoole_client $cli, $data){ $cli->send(str_repeat('A', 1024*1024*4)."\n"); }); $client->on("error", function(swoole_client $cli){ echo "error\n"; }); $client->on("close", function(swoole_client $cli){ echo "Connection close\n"; }); $client->on("bufferEmpty", function(swoole_client $cli){ $cli->close(); }); $client->connect('127.0.0.1', 9501); ```
                  <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>

                              哎呀哎呀视频在线观看