從netty端BossGroup和WorkerGroup入手,理解: 爲什麼TCP的連接需要3次握手

我前幾天才搞懂爲啥是3次握手。。 而不是2次或者4次?

 

有一個知識點是: 服務器端的socket底層是2個隊列:  1個是正在連接的socket。  1個是連接上的客戶端socket

 

第一次是: 客戶端向服務器發送ack,表示:我要連接了,這時服務器接收到ack後,放到第一個隊列中,記錄下:這個socket正在發送ack要連接

 

第二次是:服務器會送ack,告訴服務器,咱倆能連上

 

第三次是:客戶端發送ack,然後服務器收到後,將從第一個隊列中移除,放到第二個隊列中,表明這個服務器socket真正表明客戶端的socket連上了

 

所以:不是2次,也不是4次。 就是3次

服務器端的socket: 第1個隊列都是:正在發送ack,握手沒完成的客戶端socket   第二個隊列中的,都是連接上的客戶端socket

之所以引出這個問題是因爲: 爲什麼netty要設計一個BossGroup,一個WorkerGroup

 

難道一個EventLoopGroup就不行嗎?  這個原因就是因爲考慮到服務器端Socket真實的情況是2個隊列

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章