gpt4 book ai didi

tcp - 如果服务器终止,TCP 数据包会发生什么情况?

转载 作者:可可西里 更新时间:2023-11-01 02:33:17 24 4
gpt4 key购买 nike

我知道 TCP 非常可靠,无论发送什么都保证到达目的地。但是,如果发送数据包之后,但在它到达服务器之前,服务器出现故障会怎样?数据包发送成功的确认是在数据包最初发送时服务器存在时触发的,还是在数据包成功到达服务器时触发的?

基本上我要问的是 - 如果服务器在发送和接收数据包之间出现故障,客户端会知道吗?

最佳答案

这真的没关系,但这里有一些更详细的信息:

您需要区分发生故障的服务器机器和发生故障的服务器进程。

如果服务器机器崩溃了,那么很明显,没有什么可以接收数据包。发送客户端不会收到重试请求,也不会收到成功或失败的确认。在完全没有收到任何反馈后,客户端最终会收到超时,并认为连接已断开。这与意外物理切断电缆几乎相同。

但是,如果服务器机器仍然运行,但服务器进程由于编程错误而崩溃,那么接收 TCP 堆栈(这是操作系统的功能,而不是进程的功能)可能会确认数据包,以及任何其他到达的人。这将继续,直到操作系统通知 TCP 堆栈该进程不再处于事件状态。 TCP 堆栈可能会向客户端发送 RST(重置)通知,或者可能会断开连接(如上所述)

关于tcp - 如果服务器终止,TCP 数据包会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com