三次握手:
(面试回答)
(1)首先,必须先由客户端发起连接的请求
(2)接下来,服务器接收到请求之后,回复给客户端两个标识,一个syn表示服务器接收到请求,一个ack表示服务器在做准备工作,两个标识一起回复给客户端
(3)最后,客户端接收到服务器的回复,客户端准备连接的所有资源,开始进行连接,发送给服务器一个ack表示客户端的连接准备工作已经完成(此时表示客户端和服务器可以相互连接了)
如果面试官问你,哪句代码体现了三次握手?
回答:服务器端的accept,客户端connect
四次挥手
(面试回答)
(1)首先由连接双方任意一方发起断开连接的请求,发起方发送的请求表示是我没有数据要继续发送了,可以断开连接了,但是你如果还有数据可以继续向我发送数据.
(2)接收方回复给发起方,表示接到了发起放的断开请求,开始着手准备断开事宜
(3)接收方准备完成后,给发起方发送一个标识,表示接受方没有数据继续发送了,可以断开连接了
(4)发起方接收到消息后,准备断开连接,回收资源
如果面试官问你,哪句代码体现了四次挥手?
回答:close()