【发布时间】:2017-10-30 13:01:03
【问题描述】:
我有以下疑问:
1) TCP 是否保证数据包的传递,因此如果使用的传输协议是 TCP,则需要应用程序级别的重新传输。假设我已经在客户端和服务器之间建立了 TCP 连接,并且服务器向客户端发送了一条消息。然而,客户端离线并在 10 小时后才回来,那么 TCP 堆栈将处理重新传输并将消息传递给客户端,还是运行在服务器上的应用程序需要处理它?
2) 与上述问题相关,如果传输协议是 TCP,是否需要应用程序级别的 ACK。应用程序 ACK 的一个原因是没有它,应用程序将不知道远程端何时收到消息。除此之外还有什么原因吗?意思是消息本身的传递是否得到保证?
【问题讨论】: