从netty端BossGroup和WorkerGroup入手,理解: 为什么TCP的连接需要3次握手

本小妞迷上赌 提交于 2020-04-29 15:13:34

我前几天才搞懂为啥是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个队列

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!