国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

swoole用什么協(xié)議

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-03 18:23:42
文檔

swoole用什么協(xié)議

swoole用什么協(xié)議:TCP是一個流式的協(xié)議,客戶端向服務(wù)器發(fā)送一段數(shù)據(jù)后,可能并不會被服務(wù)器一次就完整的接收到??蛻舳讼蚍?wù)器發(fā)送多段數(shù)據(jù),可能服務(wù)器一次就接收到了全部。 (推薦學(xué)習(xí): swoole視頻教程)在實際應(yīng)用中,希望在服務(wù)器上能夠一次接收一段完整的數(shù)據(jù),不多也
推薦度:
導(dǎo)讀swoole用什么協(xié)議:TCP是一個流式的協(xié)議,客戶端向服務(wù)器發(fā)送一段數(shù)據(jù)后,可能并不會被服務(wù)器一次就完整的接收到。客戶端向服務(wù)器發(fā)送多段數(shù)據(jù),可能服務(wù)器一次就接收到了全部。 (推薦學(xué)習(xí): swoole視頻教程)在實際應(yīng)用中,希望在服務(wù)器上能夠一次接收一段完整的數(shù)據(jù),不多也

TCP是一個流式的協(xié)議,客戶端向服務(wù)器發(fā)送一段數(shù)據(jù)后,可能并不會被服務(wù)器一次就完整的接收到。客戶端向服務(wù)器發(fā)送多段數(shù)據(jù),可能服務(wù)器一次就接收到了全部。 (推薦學(xué)習(xí): swoole視頻教程)

在實際應(yīng)用中,希望在服務(wù)器上能夠一次接收一段完整的數(shù)據(jù),不多也不少。

傳統(tǒng)的TCP服務(wù)器中,往往需要由程序員維護一個緩存區(qū),先將讀取到數(shù)據(jù)寫入緩存區(qū),然后再通過預(yù)先設(shè)定好的協(xié)議內(nèi)容來區(qū)分一段完整數(shù)據(jù)的開頭、結(jié)尾和長度,并將一段完整的數(shù)據(jù)交給邏輯部分處理,這就是自定義協(xié)議的功能。

在Swoole中已經(jīng)在底層實現(xiàn)了一個數(shù)據(jù)緩存區(qū),并內(nèi)置了幾種常用的協(xié)議類型,并直接在底層做好了數(shù)據(jù)的拆分,以保證在onReceive回調(diào)函數(shù)中,一定能夠收到一個或數(shù)個完整的數(shù)據(jù)段。

數(shù)據(jù)緩存區(qū)的大小可以通過配置pakcage_max_length來控制。

$configs = [];
$configs["package_max_length"] = 8192;
$server->set($configs);

swoole目前支持兩種通訊協(xié)議:EOF結(jié)束符協(xié)議、固定包頭加包體協(xié)議

package_max_length

package_max_length用于設(shè)置最大數(shù)據(jù)包尺寸,當(dāng)開啟open_length_check或open_eof_check或open_http_protocol等協(xié)議解析后,Swoole底層會進程數(shù)據(jù)包拼接,此時在數(shù)據(jù)包未收取完整時,所有數(shù)據(jù)都將保存在內(nèi)存中。

所以需要設(shè)置package_max_length一個數(shù)據(jù)包最大允許占用的內(nèi)存尺寸。

如果同時有1萬個TCP連接在發(fā)送數(shù)據(jù),每個數(shù)據(jù)包2MB,在最極端的情況下會占用20GB的內(nèi)存空間。所以此參數(shù)不宜設(shè)置過大,否則會占用很大的內(nèi)存。

相關(guān)配置選項

open_length_check

當(dāng)發(fā)現(xiàn)數(shù)據(jù)包長度超過package_max_length時會直接丟棄此數(shù)據(jù)并關(guān)閉連接,因此不會占用任何內(nèi)存,適用于websocket、mqtt、http2協(xié)議。

open_eof_check

由于無法事先得知數(shù)據(jù)包的長度,所以接收到的數(shù)據(jù)還是會保存在內(nèi)存中持續(xù)增長。當(dāng)發(fā)現(xiàn)內(nèi)存占用已經(jīng)超過package_max_length時,將直接丟地此數(shù)據(jù)包并關(guān)閉連接。

open_http_protocol

HTTP的GET請求最大允許8KB數(shù)據(jù)且無法修改此配置,POST請求會檢測Content-Type,如果發(fā)現(xiàn)超過package_max_length則直接丟地此數(shù)據(jù),并發(fā)送HTTP 400錯誤并關(guān)閉連接。

EOF協(xié)議

使用一組固定的、不會在正常數(shù)據(jù)內(nèi)出現(xiàn)的字符串/r/n作為分割協(xié)議的標(biāo)記,稱之為EOF協(xié)議。

什么是EOF協(xié)議呢?

EOF全稱 End of File,使用 作為結(jié)束標(biāo)記。

在逐個讀取數(shù)據(jù)流中的數(shù)據(jù)時,如果發(fā)現(xiàn)讀到EOF標(biāo)記,就表示已經(jīng)讀到數(shù)據(jù)末尾。

在TCP的數(shù)據(jù)流中,使用EOF協(xié)議的數(shù)據(jù)流的特征是|數(shù)據(jù)|EOF|數(shù)據(jù)|EOF|。

EOF協(xié)議處理的原理是在每串正常數(shù)據(jù)的末尾會添加一個預(yù)先規(guī)定的且絕對不會再數(shù)據(jù)中出現(xiàn)的字符串作為結(jié)束標(biāo)記,這樣接收到的數(shù)據(jù)就可以根據(jù)EOF標(biāo)記來切分?jǐn)?shù)據(jù)。

典型的memcached、ftp、stmp都是使用/r/n作為結(jié)束符。當(dāng)發(fā)送數(shù)據(jù)時只要在數(shù)據(jù)包的末尾添加/r/n即可。

使用EOF協(xié)議處理一定要確保數(shù)據(jù)包中間不會出現(xiàn)EOF,否則將會造成分包錯誤。

swoole-7.gif

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

swoole用什么協(xié)議

swoole用什么協(xié)議:TCP是一個流式的協(xié)議,客戶端向服務(wù)器發(fā)送一段數(shù)據(jù)后,可能并不會被服務(wù)器一次就完整的接收到??蛻舳讼蚍?wù)器發(fā)送多段數(shù)據(jù),可能服務(wù)器一次就接收到了全部。 (推薦學(xué)習(xí): swoole視頻教程)在實際應(yīng)用中,希望在服務(wù)器上能夠一次接收一段完整的數(shù)據(jù),不多也
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲一级毛片 | 国产亚洲午夜精品a一区二区 | 中文字幕有码在线播放 | 国产产一区二区三区久久毛片国语 | 欧美性受一区二区三区 | 国产精品1 | 亚洲女同一区二区 | 精品一区二区三区免费毛片爱 | 欧美激情在线精品一区二区 | 亚洲视频欧美视频 | 最新国产精品视频免费看 | 亚洲免费福利 | 真实的国产乱xxxx在线 | 自拍网在线| 欧美精品一区二区三区久久 | 国产精品久久久久影院色 | 日本韩国在线 | 女人与公拘交酡全过程 | 日本国产在线观看 | 亚洲综合精品一区二区三区中文 | 乌克兰性欧美精品高清bd | 精品综合一区二区三区 | 精品国产成人综合久久小说 | 国产欧美在线播放 | 九一毛片 | 久久伊人中文字幕 | 日韩专区亚洲综合久久 | 精品国产一区二区三区久久久狼 | 国产高清一区二区三区 | 久久久久久久久久久9精品视频 | 亚洲日本一区二区三区 | 伊人精品成人久久综合欧美 | 欧美精品第1页在线播放 | 国产欧美一区二区精品性色 | 日韩第八页 | 国产精品久久久久久久专区 | 欧美一区二区三区不卡免费 | 国产成人精视频在线观看免费 | 538精品在线视频 | 日韩欧美偷拍 | 精品视频免费看 |