日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Listen第二个参数的意义

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Listen第二个参数的意义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


Listen第二個參數的意義

文章轉載于:http://blog.csdn.net/weiyuefei/article/details/52239315

????? 今天主要回顧下listen的第二個參數的意義。 話說現在現在都是用框架寫業務代碼。真的很少在去關注最基本的socket函數的意義了。該忘得都忘得差不多了。~~~? 要慢慢撿起來。? 主要是在看Redis網絡這塊的時候它的第二個參數設置的是500多。? 而且突然想到當初幾年前騰訊電話面試問過我第二個參數是什么意思。當時我一股腦就說成connet的連接數量了。哈哈? 2b.

照例 先上圖,再解析

首先這個圖是展示的TCP 三次握手。這里就不吸收三次握手了。我們主要是關注 兩個隊列

1:未完成隊列:每個這樣的SYN分節對應其中一項,已有某個客戶端發出并到達服務器,而服務器正在等待完成相應的TCP三路握手過程。這些套接口處于SYN_RCVD

2:已完成隊列:每個已經完成TCP三路握手過程的客戶對應其中一項。 這些套接口處于ESTABLISHED

這里說下對著兩個隊列的理解

假設未完成隊列設置為100,? 有并發1000個請求過來。假如系統處理過慢。那么系統會做以下幾件事

1) 因為未完成隊列只有100個。先放100個請求過來處理三次握手。其他的請求直接拒絕。TCP會忽略該分節,也就是不送RST,這樣客戶端將重發SYN,期望在未完成隊列中找到位置

2)每處理完一個三次握手動作。就放一個SYN請求過來。并站住未完成隊列一個位置。除非三次握手完成(成功或者失敗)、或者超時就把該請求連接移除未完成隊列。如果系統性能好。這個動作會很快。

3)完成TCP三次握手的請求放到已完成隊列里。

這個時候再去看 listen的第二個參數。

其實這里man listen的時候已經解釋的很清楚了

? ?The backlog argument defines the maximum length to which the queue of pending connections for sockfd may grow.? If a connection request arrives when? the? queue? is?full,? the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that?a later reattempt at connection succeeds.

? ? 第二個參數就是未完成隊列的大小

?

但是繼續man listen函數 看到如下解釋

The? behavior? of? the? backlog? argument on TCP sockets changed with?Linux?2.2.? Now it specifies the queue length for completely established sockets waiting to be?accepted,? instead? of? the? number? of? incomplete? connection? requests.?? The? maximum? length? of? the? queue? for? incomplete? sockets?? can?? be?? set?? using ?/proc/sys/net/ipv4/tcp_max_syn_backlog.?? When? syncookies are enabled there is no logical maximum length and this setting is ignored.? See tcp(7) for more information.

? ? ? ? 在linux 2.2以后? listen的第二個參數。指的是在完成TCP三次握手后的隊列。即在系統accept之前的隊列。已經完成的隊列。如果系統沒有調用accpet把這個隊列的數據拿出來。一旦這個隊列滿了。未連接隊列的請求過不來。導致未連接隊列里的請求會超時或者拒絕。如果系統調用了accpet隊列接受請求數據。那么就會把接受到請求移除已完成隊列。 這時候已完成隊列又可以使用了。

最后 說了如果開啟了syncookies? 忽略listen的第二個參數。?

syncookie 主要是為了防止syn flood攻擊。這里暫時先不說。以后再補充

總結

1,這里可以感受到? 內核用了兩個隊列。 可以針對并發請求的時候。及時拒絕掉一部分處理不過來的請求。防止盲等待。類似有點雪崩處理的感覺。

2,listen的第二個參數。跟系統的鏈接數量沒有任何關系。相當于設置一個瞬間能夠處理的閾值。

3,一般情況下都會去開啟 syncookie。所有其實現在已經可以不太關系listen的第二個值了


總結

以上是生活随笔為你收集整理的Listen第二个参数的意义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美男人的天堂 | 狠狠插综合| 国产精品男女视频 | 国产资源在线免费观看 | 打美女白嫩屁屁网站 | 91亚洲国产成人精品一区二区三 | 色噜噜日韩精品欧美一区二区 | 国产二区精品视频 | 综合九九 | 人妻少妇偷人精品久久久任期 | 精品国自产拍在线观看 | 欧美精品一区二区三 | 亚洲人性生活视频 | 国产成人毛片 | 91精品国产色综合久久不卡电影 | 少女情窦初开的第4集在线观看 | 国产一级片播放 | 国产精品乱码久久久久 | 黄页网站在线 | 国产精品久久久久久久av福利 | 国产成人在线视频免费观看 | 在线观看中文 | 婷婷色吧 | 久操福利在线 | 色播日韩 | 91超碰在线播放 | 男女视频一区 | 欧美aa视频 | 久草视频观看 | 午夜影视福利 | 国产无遮挡a片又黄又爽 | 人妻无码一区二区三区久久 | 亚洲精品综合久久 | 欧美瑟瑟 | 午夜视频在线看 | 99热国内精品| 少妇被又大又粗又爽毛片久久黑人 | 国产成人在线观看免费 | 亚洲最大福利视频网 | 久久久国产精品一区二区三区 | 西西44rtwww国产精品 | 亚洲日本天堂 | 无码熟妇人妻av | 亚洲五月婷 | 一区二区视频国产 | 国产女人爽到高潮a毛片 | 欧美成人一区二区三区 | 中文字幕第 | 亚洲xx站| 在线草 | 国产免费一区二区 | 岛国视频一区 | 国产91在线免费观看 | 欧美激情亚洲综合 | 永久国产 | 夜夜欢视频| 免费av大全 | 日韩最新在线 | 亚洲精品一区二区三区在线观看 | 一区二区三区不卡在线观看 | 成人免费毛片日本片视频 | 动漫一区二区三区 | 玖玖在线 | 三年大片在线观看 | 狠狠躁日日躁夜夜躁2022麻豆 | 国产精品丝袜黑色高跟 | 国产精品一二三级 | 91精品国产欧美一区二区 | 人妻丰满熟妇av无码久久洗澡 | 国产第一区第二区 | 国产又大又粗又爽的毛片 | 狠狠操狠狠 | 日韩电影二区 | 国产精品伦子伦 | 亚洲午夜av久久乱码 | 亚洲视频一区二区在线观看 | 麻豆国产免费 | 激情噜噜| 丰满人妻一区二区三区性色 | 自拍偷拍第八页 | 好吊妞视频一区二区三区 | 国产成人精品无码免费看夜聊软件 | 国产妇女乱一性一交 | 欧美日韩高清一区二区三区 | 成人av网址在线观看 | 一级黄色片大全 | 色片在线免费观看 | 国产伦精品一区二区 | 久久综合久久久久 | www.在线| 国产第一精品 | 黑人一区二区三区 | 色中文网| 爱爱小视频网站 | 日本亚洲视频 | 国产91熟女高潮一区二区 | 少妇在线视频 | 一区二区三区伦理片 | 国产色综合网 |