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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # swoole_event_write 用于PHP自帶stream/sockets擴展創建的socket,使用fwrite/socket_send等函數向對端發送數據。當發送的數據量較大,socket寫緩存區已滿,就會發送阻塞等待或者返回EAGAIN錯誤。 swoole_event_write函數可以將stream/sockets資源的數據發送變成異步的,當緩沖區滿了或者返回EAGAIN,swoole底層會將數據加入到發送隊列,并監聽可寫。socket可寫時swoole底層會自動寫入。 ```php $fp = stream_socket_client('tcp://127.0.0.1:9501'); $data = str_repeat('A', 1024 * 1024*2); swoole_event_add($fp, function($fp) { echo fread($fp); }); swoole_event_write($fp, $data); ``` * `swoole_event_write`不能用于`SSL/TLS`等有隧道加密的`stream/sockets`資源 * `swoole_event_write`操作成功后,會自動將該`$socket`設置為非阻塞模式 * `$data` 發送數據的長度不得超過`Socket`緩存區尺寸 > 此函數在swoole-1.7.9以上版本可用 SOCKET緩存區已滿后,Swoole的底層邏輯 ---- 持續寫入SOCKET如果對端讀取不夠快,那SOCKET緩存區會塞滿。swoole底層會將數據存到內存緩存區中,直到可寫事件觸發再寫入SOCKET。 * 可使用 `Swoole\Async::set`(或 `swoole_async_set`)方法動態設置 `socket_buffer_size` 值,更多參數見 [AsyncIO](https://wiki.swoole.com/wiki/page/182.html) * swoole老版本內存緩存區尺寸可以在通過修改`php.ini` 中的 `swoole.socket_buffer_size` 項進行配置,默認為8M 如果內存緩存區也被寫滿了,此時swoole底層會拋出`pipe buffer overflow, reactor will block.` 錯誤,并進入阻塞等待。 如果調用端希望不要阻塞,直接返回錯誤,可以使用`swoole_async_set`設置`socket_dontwait`為`true`,write將不會阻塞而是直接返回`false` > 緩存塞滿返回false是原子操作,只會出現全部寫入成功或者全部失敗
                  <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>

                              哎呀哎呀视频在线观看