v4.5.0,這是一個大版本更新,在 4.5
版本中移除了 4.4
版本中標記爲已廢棄的特性,大幅優化了異步 Server
消息回調函數的性能。加強了對於 PHP-FPM
互調用的支持。git
DTLS
支持, 如今咱們能夠此來構建WebRTC
應用 (#3188) (@matyhtf)FastCGI
客戶端, 咱們能夠經過一行代碼來代理請求到FPM
或是調用FPM應用 (swoole/library#17) (@twose)Co::wait
, Co::waitPid
(用於回收子進程) Co::waitSignal
(用於等待信號) (#3158) (@twose)Co::waitEvent
(用於等待socket上發生的指定的事件) (#3197) (@twose)Co::set(['exit_condition' => $callable])
(用於自定義程序退出的條件) (#2918) (#3012) (@twose)Co::getElapsed
(獲取協程運行的時間以便於分析統計或找出殭屍協程) (#3162) (@doubaokun)Socket::checkLiveness
(經過系統調用判斷鏈接是否活躍), Socket::peek
(窺視讀緩衝區) (#3057) (@twose)Socket->setProtocol(['open_fastcgi_protocol' => $bool])
(內置的FastCGI解包支持) (#3103) (@twose)Server::get(Master|Manager|Worker)Pid
, Server::getWorkerId
(獲取異步Server單例和其信息) (#2793) (#3019) (@matyhtf)Server::getWorkerStatus
(獲取worker進程狀態, 返回常量SWOOLE_WORKER_BUSY, SWOOLE_WORKER_IDLE以表示忙閒狀態) (#3225) (@matyhtf)Server->on('beforeReload', $callable)
和 Server->on('afterReload', $callable)
(服務重啓事件, 發生在manager進程) (#3130) (@hantaohuang)Http\Server
靜態文件處理器如今支持http_index_files
和http_autoindex
配置 (#3171) (@hantaohuang)Http2\Client->read(float $timeout = -1)
方法支持讀取流式的響應 (#3011) (#3117) (@twose)Http\Request->getContent
(rawContent方法的別名) (#3128) (@hantaohuang)swoole_mime_type_(add|set|delete|get|exists)()
(mime相關APIs, 可增刪查改內置的mime類型) (#3134) (@twose)Master
和Worker
進程間的內存拷貝(極限狀況下提高了四倍性能) (#3075) (#3087) (@hantaohuang)WebSocket
派遣邏輯 (#3076) (@matyhtf)WebSocket
構造幀時的一次內存拷貝 (#3097) (@matyhtf)SSL
驗證模塊 (#3226) (@matyhtf)SSL accept
和SSL handshake
, 解決慢速SSL
客戶端可能會形成協程服務器假死的問題 (#3214) (@twose)MIPS
架構 (#3196) (@ekongyun)UDP
客戶端如今能夠自動解析傳入的域名 (#3236) (#3239) (@huanghantao)Coroutine\Http\Server
增長支持了一些經常使用的選項 (#3257) (@twose)WebSocket
握手時設置cookie
(#3270) (#3272) (@twose)CURLOPT_FAILONERROR
(swoole/library#20) (@sy-records)CURLOPT_SSLCERTTYPE
, CURLOPT_SSLCERT
, CURLOPT_SSLKEYTYPE
, CURLOPT_SSLKEY
(swoole/library#22) (@sy-records)CURLOPT_HTTPGET
(swoole/library@d730bd08) (@shiguangqi)Runtime::enableStrictMode
方法 (b45838e3) (@twose)Buffer
類 (559a49a8) (@twose)C++
的API
: coroutine::async
函數傳入lambda便可發起異步線程任務 (#3127) (@matyhtf)event-API
中的整數型fd
爲swSocket
對象 (#3030) (@matyhtf)C
文件都已轉化爲C++
文件 (#3030) (71f987f3) (@matyhtf)enable_reuse_port
配置項使其更加規範 (#3192) (@matyhtf)Socket
相關API
使其更加規範 (#3193) (@matyhtf)swServerGS::now
, 直接使用時間函數獲取時間 (#3152) (@hantaohuang)C
結構初始化寫法 (#3069) (@twose)bit
字段統一爲uchar
類型 (#3071) (@twose)enable_delay_receive
開啓後onConnect
沒法觸發的問題 (#3221) (#3224) (@matyhtf)bug
修復都已合併到v4.4.x
分支並在更新日誌中體現, 在此再也不贅述