<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之旅 廣告
                # 3.0.0 新版協程 ----- 在最新的`3.0`版本中,我們實現了一個全新的 `PHP` 內置協程調度器,基于`ZendVM` 的 `EG(vm_interrupt)` 機制實現,移除了 `setjmp/longjmp` 的依賴。使得 `Swoole` 協程可以應用于任何位置,包括`PHP` 對象析構函數、魔術方法、反射函數調用 等場景,新的版本號將更改為`Swoole 3.0`,原計劃基于`libco`的`C`棧協程,推遲到`4.0`。 新版協程內核依賴`PHP-7.1`,因此`Swoole`對`PHP`的版本依賴提高至`7.1`,對`gcc`的版本依賴提高至`4.8`。 ``` 3.0 分支已廢棄,請勿使用 ``` Socket 模塊 ---- `3.0`版本提供了一個更底層`Co\Socket`模塊,封裝了操作系統`socket`相關`API`。某些情況下`Server`和`Client`無法滿足需求,這時可以使用`Co\Socket`自行實現`Server`和`Client`功能。 #### Server 端 ```php $socket = new Co\Socket(AF_INET, SOCK_STREAM, 0); $socket->bind('127.0.0.1', 9601); $socket->listen(128); go(function () use ($socket) { while(true) { echo "Accept: \n"; $client = $socket->accept(); echo "New Coroutine: \n"; go(function () use ($client) { while(true) { echo "Client Recv: \n"; $data = $client->recv(); if (empty($data)) { $client->close(); break; } var_dump($client->getsockname()); var_dump($client->getpeername()); echo "Client Send: \n"; $client->send("Server: $data"); } }); } }); ``` #### Client 端 ```php $socket = new Co\Socket(AF_INET, SOCK_STREAM, 0); go(function () use ($socket) { $retval = $socket->connect('localhost', 9601); while ($retval) { $n = $socket->send("hello"); var_dump($n); $data = $socket->recv(); var_dump($data); if (empty($data)) { $socket->close(); break; } co::sleep(1.0); } var_dump($retval, $socket->errCode); }); ``` 支持 C/C++ 混合開發 ---- 從`3.0`版本開始,我們使用了`C++`作為主要的開發語言。新增的模塊基于`C++ 11`進行開發。以降低開發成本,提升效率。 編譯`3.0`版本,需要`gcc-4.8`或更高版本。另外,`3.0`還引入了`PHP-X`,某些模塊將會基于`PHP-X`進行開發。 其他更新 ---- * 增加`Http\Response->detach`和`Http\Response::create`方法 * 增加`Http\Response->redirect`方法 * 增加`Runtime::enableStrictMode`方法,可禁用`PHP`提供的同步阻塞函數和類 * 修復`Co\Redis`連接失敗時發生內存泄漏的問題 * 修復`SOCK_DGRAM`類型客戶端連接被拒絕時拋出的無效錯誤日志
                  <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>

                              哎呀哎呀视频在线观看