假如我需要你给我的银行账户里打一千亿美元,那么操作流行如下: 1.我通知你:我的账号是1234567890,开户行是中国人民银行,你需要往里面打入一千亿美元; 2.如果你没有钱,或者不想打,当然可以拒绝。但如果你想真往我的账户里打了一千亿美元(,那就说明你是一个傻瓜)。但不论你是否打了,你都要告诉我。当然,如果你打了一千亿美女,你就应该通知我:一千亿美元已经到了我的账户。 3.如果被你拒绝,我当然没啥好说的,我们俩到此为止。但如果你打了一千亿美元过来,那么我得反馈给你:你这个傻瓜打的一千亿美元已经到账了。第三次握手结束。
假定是A向B连接。 A向B发送一条连接请求,B收到请求。(第一次握手) 在B向A发送ACK1时,B不能确定这条ACK1能否发送到A,所以这时候,B是半连接状态。 (第二次握手) A收到B发送的ACK1,再向B发送ACK2,也就是告诉B,我收到你的ACK了,这时候A是连接状态, (第三次握手) B收到ACK2,再把状态置成连接状态。 这时候,双方就可以通信了。 -------------------------------- 来自《TCP/IP详解》卷一 的答案。 [color=#FF0000]这里面最重要是原因是B不能确定ACK1有没有成功发送给A。[/color] 所以,小伙伴们,懂了没??
你可以看一下:Unix网络编程的前面几章.
他的那个说法是在没有建立连接的前提之下吧 目的已有一个:确保客户端和服务器建立可靠连接。 当然,越能节省资源的方案越好;需要综合其他因素一起考虑采用的方案
64,282
社区成员
250,470
社区内容
加载中
试试用AI创作助手写篇文章吧