用于消息发送死锁的TCP规范

时间:2012-11-30 01:12:49

标签: networking tcp high-level

我试图对TCP进行高层次的理解,并且陷入了一个令人困惑的地步。

假设我们有连接的服务器S和客户端C.

如果S将消息推送到C并且在C实现之前发送了消息,它也会向S推送消息。

现在处于S等待它的消息ACK并且C也在等待它的ACK的状态。

规范如何避免这种僵局?很多在线资源很快就会详细介绍具体的实现细节,但我试图找到一个关于如何处理这些死锁的高级解释。

(我假设答案与缓冲有关,但没有找到关于该主题的具体信息。)

1 个答案:

答案 0 :(得分:1)

什么僵局?它是一种全双工(双向)协议。具体来说,在您描述的情况下,没有任何内容可以阻止双方发送其ACK。行为在RFC 793中完全指定,并且比您想象的要复杂得多。