<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國際加速解決方案。 廣告
                # swoole_server->send 向客戶端發送數據,函數原型: ```php bool swoole_server->send(int $fd, string $data, int $extraData = 0); ``` * `$data`,發送的數據,TCP協議最大不得超過`2M`,可修改 [buffer_output_size](https://wiki.swoole.com/wiki/page/p-buffer_output_size.html) 改變允許發送的最大包長度 * UDP協議不得超過`65507`,`UDP`包頭占`8`字節, `IP`包頭占`20`字節,`65535-28 = 65507` * UDP服務器使用`$fd`保存客戶端IP,`$extraData`保存`server_fd`和`port` * 發送成功會返回`true` * 發送失敗會返回`false`,調用`$server->getLastError()`方法可以得到失敗的錯誤碼 TCP服務器 ----- * `send`操作具有原子性,多個進程同時調用`send`向同一個`TCP`連接發送數據,不會發生數據混雜 * 如果要發送超過`2M`的數據,可以將數據寫入臨時文件,然后通過`sendfile`接口進行發送 * 通過設置 [buffer_output_size](https://wiki.swoole.com/wiki/page/p-buffer_output_size.html) 參數可以修改發送長度的限制 * 在發送超過`8K`的數據時,底層會啟用`Worker`進程的共享內存,需要進行一次`Mutex->lock`操作 * 當`Worker`進程的管道緩存區已滿時,發送`8K`數據將啟用臨時文件存儲 * 不需要關心客戶端的帶寬,底層會自動監聽可寫,將數據逐步發送給客戶端 * 如果連續向同一個客戶端發送大量數據,可能會導致`Socket`內存緩存區塞滿,底層會立即返回`false`,應用程序可以調整`socket_buffer_size`設置,或 將數據保存到磁盤,等待客戶端收完已發送的數據后再進行發送 > `TCP`客戶端發送數據,不需要`$extraData`參數 UDP服務器 ----- * `send`操作會直接在`Worker`進程內發送數據包,不會再經過主進程轉發 * 如果在`onReceive`后立即向客戶端發送數據,可以不傳`$extraData` * 如果向其他`UDP`客戶端發送數據,必須要傳入`$extraData` * 在外網服務中發送超過`64K`的數據會分成多個傳輸單元進行發送,如果其中一個單元丟包,會導致整個包被丟棄。所以外網服務,建議發送`1.5K`以下的數據包
                  <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>

                              哎呀哎呀视频在线观看