三次握手:
举例说明:
1.A对B说:我要向你借点钱,可以吗?
第一次握手,A向B发出请求。
2.B对A说:可以,你要借多少?
第二次握手:如果B不回应A(可能没钱或者不愿借),那么沟通失败,A无法向B借钱。如果B回应了A,那么B就会反问A借多少钱,你不说我咋确定能不能借,万一借个一千万没钱呐。
3.A对B说:嗯,我要借100
第三次握手,A回答B的问题。我们可以这样想,如果A不回应B,那B就不用再空等了,A可能有钱了不需要借!那么B就可以去做其他事了。
TCP是面向连接的,他和UDP的区别就是TCP能保证消息传输的正确性,如果只有一次握手,或者两次握手,我们都不能确定是否应该答应A最初的请求,也许A会改变请求,这样的效果其实就是UDP。当然我们也可以进行四次,五次,甚至更多次数的握手,B可以将100元分成多个红包,每次给A发一个红包,然后问A是否收到,A每接收一个红包就回应B收到了,这样B就可以再发第二个红包。
四次挥手
接着上面的例子,我们对挥手进行阐述:
1.A对B说,钱够了
钱够了,就要告诉B,不用再给我发了
2.B对A说,嗯,我也发完了
B知道A不需要再借了,回应自己的红包发完了
3.A关闭连接,并发送信号:我关了
A知道B完事了,这时候就可以关闭之前的连接
4.B关闭连接
TCP的连接是双方的,A关闭了还是不够,得B也关闭。