如果我的程序打开了一个TCP套接字,但读取速度不够快,会发生什么情况。也就是说,我的程序读取的字节数少于客户端编写的字节数。
TCP缓冲区完全填满后会发生什么?我假设TCP不会将ACK发送回客户端,因此客户端将(在不断增加的退避时间之后)尝试再次发送,直到最后服务器套接字再次接受一些字节。所以我永远不会丢失字节 - 除非客户端放弃重试(但他们会知道发送失败)。这是对的吗?
答案 0 :(得分:0)
TCP内置流量控制通过窗口大小向另一方发出信号。该值告诉发送方接收方可以缓冲多少字节。一旦下降到零,发送方就无法发送更多数据并等待它再次打开。