socket 中 listen api中引數backlog指定的是 全佇列大小
accept api是從全佇列中獲取, 沒有就阻塞了, 直到有新連線進來.
listen中指定的值大小,有乙個最大上限,
這個上限是系統核心中設定的. 在配置檔案中: /proc/sys/net/core/somaxconn
這個值預設是128.
三次握手:
客戶端發乙個syn包,
伺服器發乙個包(syn+ack),
客戶端發乙個ack確認包. 至此連線完成
半連線是是未完成佇列:
/proc/sys/net/ipv4/tcp_syncookies 是否快取syn
這個值作業系統內部設定的, 在 /proc/sys/net/ipv4/tcp_max_syn_backlog 檔案中. 預設是1024
[root@118 ipv4]# cattcp_timestamps
1[root@
118 ipv4]# cat
tcp_thin_linear_timeouts
0[root@
118 ipv4]# cat
tcp_fin_timeout
60[root@
118 ipv4]# cat /proc/sys/net/ipv4/tcp_syncookies
1[root@
118 ipv4]# cat
tcp_synack_retries
2[root@
118 ipv4]# cat
tcp_syn_retries
6
乙個連線的完成需要經過3次握手, 只經過了2次握手,如果第三次握手一直不完成, 伺服器會怎麼處理?
TCP半連線佇列和全連線佇列
半連線佇列 syn queue 全連線佇列 accept queue ss lnt recv q send q local address port peer address port 0 100 8080 當連線處於時listen狀態,send q表示accept queue的最大值,recv q...
mysql半連線 MySQL半連線的攻略式思考
在此說是攻略式思考,是因為僅供參考,說是攻略,是因為暫時還沒有嚴謹的結論,目前只能說對結論有幫助。問題簡單復現下 建立乙個表users,然後插入一些資料之後,使用兩種方式來對比下 create table users userid int 11 unsigned not null,user name...
sql連線(內連線 外連線 全連線)
現有table for report 1和table for report 2,詳情如下 table for report 1有num欄位,c1,c2,c3欄位。資料如下 num c1 c2 c3 1 15001346690 11 12 13 2 13329921100 21 22 23 3 189...