<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 功能強大 支持多語言、二開方便! 廣告
                # 心跳 注意:長鏈接應用必須加心跳,否則鏈接可能由于長時間未通訊被路由節點強行斷開。 心跳作用主要有兩個: 1、客戶端定時給服務端發送點數據,防止連接由于長時間沒有通訊而被某些節點的防火墻關閉導致連接斷開的情況。 2、服務端可以通過心跳來判斷客戶端是否在線,如果客戶端在規定時間內沒有發來任何數據,就認為客戶端下線。這樣可以檢測到客戶端由于極端情況(斷電、斷網等)下線的事件。 使用Timer定時器功能可以實現發送心跳包的功能。事實上,Swoole已經內置了心跳檢測功能,能自動close掉長時間沒有數據來往的連接。而開啟心跳檢測功能,只需要設置heartbeat_check_interval和heartbeat_idle_time即可。如下: ~~~ $this->serv->set( array( 'heartbeat_check_interval' => 60, 'heartbeat_idle_time' => 600, ) ); ~~~ * heartbeat_check_interval:啟用心跳檢測,此選項表示每隔多久輪循一次,單位為秒。如 heartbeat_check_interval => 60,表示每60秒,遍歷所有連接,如果該連接在60秒內,沒有向服務器發送任何數據,此連接將被強制關閉。 * heartbeat_idle_time:與heartbeat_check_interval配合使用。表示連接最大允許空閑的時間。 如 ~~~ array( 'heartbeat_idle_time' => 600, 'heartbeat_check_interval' => 60, ); ~~~ 表示每60秒遍歷一次,一個連接如果600秒內未向服務器發送任何數據,此連接將被強制關閉 * 啟用heartbeat_idle_time后,服務器并不會主動向客戶端發送數據包 * 如果只設置了heartbeat_idle_time未設置heartbeat_check_interval底層將不會創建心跳檢測線程,PHP代碼中可以調用heartbeat方法手工處理超時的連接 * 在設置這兩個選項后,swoole會在內部啟動一個線程,每隔heartbeat_check_interval秒后遍歷一次全部連接,檢查最近一次發送數據的時間和當前時間的差,如果這個差值大于heartbeat_idle_time,則會強制關閉這個連接,并通過回調onClose通知Server進程。 ## 高級用法: 使用swoole_server::heartbeat()函數手工檢測心跳是否到期。此函數會返回閑置時間超過heartbeat_idle_time的所有TCP連接。程序中可以將這些連接做一些操作,如發送數據或關閉連接。
                  <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>

                              哎呀哎呀视频在线观看