<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國際加速解決方案。 廣告
                # 1.9.14 使用異步客戶端超時機制 [TOC] 早期的Swoole客戶端不支持連接超時檢測,即使在`connect`方法中傳入了超時時間在異步客戶端中也是無效的。所以需要客戶端自行添加定時器來檢測連接是否超時。1.9.14版本底層增加了超時機制,應用不再需要添加定時器。 ## TCP客戶端 ~~~ $client = new Swoole\Client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //設置事件回調函數 $client->on("connect", function($cli) { $cli->send("hello world\n"); }); $client->on("receive", function($cli, $data){ echo "Received: ".$data."\n"; }); $client->on("error", function($cli){ echo "Connect failed\n"; }); $client->on("close", function($cli){ echo "Connection close\n"; }); //發起網絡連接 $client->connect('127.0.0.1', 9501, 0.5); ~~~ * `connect`方法的第三個參數就表示設置超時時間,如果在約定的時間內服務器沒有響應,底層將自動`close`并回調`onError`事件 * `onError`回調中可以使用`$client->errCode`獲取錯誤碼,連接超時的錯誤碼為`ETIMEOUT` ## Http客戶端 除了連接超時外,某些請求響應式的異步客戶端,如HttpClient,還支持了請求超時設置。當`HttpClient`發送了`Request`后服務器未能在規定的時間內返回`Response`,這時底層會自動`close`,并回調。`HttpClient`的狀態碼將設置為`-2` ~~~ $cli = new Swoole\Http\Client('127.0.0.1', 80); $cli->set(array( "timeout" => 3.0, //設置連接和請求的超時時間為3秒 )); $cli->setHeaders(array('User-Agent' => 'swoole-http-client')); $cli->setCookies(array('test' => 'value')); $cli->post('/dump.php', array("test" => 'abc'), function ($cli) { if (empty($cli->body)) { if ($cli->statusCode == -1) { echo "連接服務器超時\n"; } else if ($cli->statusCode == -2) { echo "服務器響應超時\n"; } } else { echo "請求成功:HTML=".$cli->body; } }); ~~~ * [TCP客戶端](https://wiki.swoole.com/wiki/page/751.html#entry_h2_0) * [Http客戶端](https://wiki.swoole.com/wiki/page/751.html#entry_h2_1)
                  <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>

                              哎呀哎呀视频在线观看