国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Swoole 1.10.0 發布,增加多項新特性

Yuqi / 1258人閱讀

摘要:的異步并行高性能網絡通信引擎已發布版本。此版本增加了多項新特性。復雜的線上項目使用模式,請求分配調度的效率更高。方便使用或類框架實現自己的調度器。

PHP的異步、并行、高性能網絡通信引擎 Swoole 已發布 1.10.0 版本。此版本增加了多項新特性。

自動 DNS 解析

新版本的異步客戶端不再需要使用 swoole_async_dns_lookup 解析域名了,底層實現了自動域名解析。Client 在執行 connect 方法時可直接傳入域名。

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
$client->on("connect", function(swoole_client $cli) {
    $cli->send("GET / HTTP/1.1

");
});
$client->on("receive", function(swoole_client $cli, $data){
    echo "Receive: $data";
    $cli->send(str_repeat("A", 100)."
");
    sleep(1);
});
$client->on("error", function(swoole_client $cli){
    echo "error
";
});
$client->on("close", function(swoole_client $cli){
    echo "Connection close
";
});
//底層會自動進行異步域名解析
$client->connect("www.baidu.com", 9501);
慢請求日志

新版本增加了追蹤慢請求功能,可記錄慢請求的 PHP 函數調用棧。

function test()
{
    test_sleep();
}

function test_sleep()
{
    echo "sleep 5
";
    sleep(5);
}

$server = new swoole_server("127.0.0.1", 9501);

$server->set([
    "worker_num" => 1,
    "task_worker_num" => 1,
    "trace_event_worker" => true,
    "request_slowlog_timeout" => 1,
    "request_slowlog_file" => "/tmp/trace.log",
]);

$server->on("Receive", function($serv, $fd, $reactor_id, $data) {
    test();
    $serv->send($fd, "Swoole: $data");
});

$server->start();

處理慢請求后,/tmp/trace.log日志中將打印一行錯誤信息:

[08-Jan-2018 15:21:57]  [worker#0] pid 26905
[0x00007f60cda22340] sleep() /home/htf/workspace/swoole/examples/server/trace.php:10
[0x00007f60cda222e0] test_sleep() /home/htf/workspace/swoole/examples/server/trace.php:4
[0x00007f60cda22280] test() /home/htf/workspace/swoole/examples/server/trace.php:28
[0x00007f60cda22190] {closure}() /home/htf/workspace/swoole/examples/server/trace.php:42
[0x00007f60cda22140] start() /home/htf/workspace/swoole/examples/server/trace.php:42
新增 STREAM 模塊

新增的 stream 模塊使得 ReactorWorkerTask 進程之間的通信方式更靈活,最大程度地解耦。復雜的線上項目使用 stream 模式,請求分配調度的效率更高。

$serv = new swoole_server("127.0.0.1", 9501);

$serv->set(array(
    "dispatch_mode" => 7,
    "worker_num" => 2,
));

$serv->on("receive", function (swoole_server $serv, $fd, $threadId, $data)
{
    var_dump($data);
    echo "#{$serv->worker_id}>> received length=" . strlen($data) . "
";
});

$serv->start();

ReactorWorker 之間通信,使用 dispatch_mode = 7 來開啟

WorkerTask 之間通信,使用 task_ipc_mode = 4 來開啟

增加 Event::cycle 函數

用戶代碼可自定義一個 EventLoop 的鉤子函數,此函數會在每一輪事件循環結束時調用。方便使用 Generator + YieldPromiseSwoole 框架實現自己的調度器。

SwooleTimer::tick(2000, function ($id) {
    var_dump($id);
});

SwooleEvent::cycle(function () {
    echo "hello [1]
";
    SwooleEvent::cycle(function () {
        echo "hello [2]
";
        SwooleEvent::cycle(null);
    });
});
其他更新內容

更新Table::incrTable::decr支持有符號整型

兼容PHP-7.2版本

修復Event::del函數無法移除標準輸入句柄的問題

修復Task進程內定時器間隔小于Client接收超時時間,引起Client::recv死鎖的問題

增加ssl_host_name配置項,用于驗證SSL/TLS主機合法性

使用dispatch_mode = 3時,當所有Worker為忙的狀態時打印一條錯誤日志

增加端口迭代器,可遍歷某個監聽端口的所有連接

修復Table在非x86平臺存在的內存對齊問題

修復BASE模式下max_request配置無效的問題

修復WebSocket服務器在某些客戶端ping幀帶有mask數據時回包錯誤的問題

修復HttpClient使用HEAD方法響應內容攜帶Content-Length導致卡死的問題

增加MySQL異步客戶端對JSON格式的支持

下載地址

GITHUB:https://github.com/swoole/swo...

開源中國:https://gitee.com/swoole/swoo...

PECL:https://pecl.php.net/package/...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26294.html

相關文章

  • Swoole筆記(一)

    摘要:修復添加超過萬個以上定時器時發生崩潰的問題增加模塊,下高性能序列化庫修復監聽端口設置無效的問題等。線程來處理網絡事件輪詢,讀取數據。當的三次握手成功了以后,由這個線程將連接成功的消息告訴進程,再由進程轉交給進程。此時進程觸發事件。 本文示例代碼詳見:https://github.com/52fhy/swoo...。 簡介 Swoole是一個PHP擴展,提供了PHP語言的異步多線程服務器...

    SHERlocked93 評論0 收藏0
  • imi v1.0 正式版,專注單體應用的 PHP 協程應用開發框架

    摘要:年開發并發布框架現已停止維護。經過一年實戰,年月日,一周年之際正式發布版本。宇潤部分開源項目我已通過碼云平臺,向項目力所能及地捐款,聊表心意。所以,目前主打的還是單體應用開發。協議的開發,也是帶來的一大優勢。 imi 介紹 showImg(https://segmentfault.com/img/bVbuab9?w=291&h=187); imi 是基于 PHP 協程應用開發框架,它支...

    genefy 評論0 收藏0
  • Swoole 2019 :化繁為簡、破繭成蝶

    摘要:開發負責人創建分支,編寫單元測試腳本,編寫代碼,實現提案中的所有內容,最終發起交叉評審,檢查代碼,提出改進意見,反饋給開發負責人,繼續完善細節。 Swoole開源項目從2012年開始發布第一個版本,到現在已經有近7年的歷史。在這七年的時間里: 提交了8821次代碼變更 發布了287個版本 收到并解決1161次issue反饋 合并了603次pull request 共有100位開發者...

    adam1q84 評論0 收藏0
  • 云幫社區版 11 月升級,新13項特性,支持Web,MySQL實時性能分析

    摘要:項新特性個中等級別以上的修復篇文檔更新云幫社區版迎來年月更新檔。研發團隊在這一個月中新增了項新特性,修復了個中等級別以上的,并更新了篇維護文檔。本月版本發布支持支持,協議的性能分析,后續還會添加等協議的支持。 13 項新特性、18 個中等級別以上的bug修復、12篇文檔更新、云幫社區版 迎來2016年11月更新檔。 Cloudbang(云幫) 云幫是好雨科技研發的一款基于容器技術的應用...

    Donne 評論0 收藏0

發表評論

0條評論

Yuqi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<