一个http请求的多个tcp包,到达对端之后,如果丢失某个包,应用层怎么读取?

新手上路,请多包涵

如题,一个HTTP请求被切割成多个tcp包,发送到对端后,会在接收缓冲区拼接后才被读取。

如果过程中有某个包丢失了,缓冲区里的其他包拼不到一起,应用层会直接读取,还是等到丢失的包重发后拼接完再获取?

如果说应用层会直接读取丢失的包之前的其他包,那应用层读取到不完整的HTTP请求会直接报错? 还是等到那个丢失的包重发后且接收到后,依然可以读取到完整的HTTP请求!

阅读 2.1k
1 个回答

需要理解tcp协议为什么被称为可靠连接,以及它的各种机制保证数据从发送方到接收方不遗漏,不重复,不乱序。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进