我正尝试在java中创建一个客户端,以使用回退N滑动窗口通过UDP传输文件。我正在使用TftpPacket,但这与问题无关。我的问题是我怎样才能做出承认控制。例如:在java上创建回滚N滑动窗口客户端
有一个文件被分成15段,窗口的长度为10.因此,首先发送10个segm,但包2丢失,客户端发送10个segm,服务器只承认第一个,所以客户端发送segm 11并停止。在超时之后,客户端再次发送,但是这次的窗口将从段2到段11(10段窗口)定义,依此类推。
我的问题是,我无法理解如何控制窗口,因此如果最后一次接收的数据是1,并在超时后重新发送整个窗口,它会阻塞segm 11。