我正嘗試在java中創建一個客戶端,以使用回退N滑動窗口通過UDP傳輸文件。我正在使用TftpPacket,但這與問題無關。我的問題是我怎樣才能做出承認控制。例如:在java上創建回滾N滑動窗口客戶端
有一個文件被分成15段,窗口的長度爲10.因此,首先發送10個segm,但包2丟失,客戶端發送10個segm,服務器只承認第一個,所以客戶端發送segm 11並停止。在超時之後,客戶端再次發送,但是這次的窗口將從段2到段11(10段窗口)定義,依此類推。
我的問題是,我無法理解如何控制窗口,因此如果最後一次接收的數據是1,並在超時後重新發送整個窗口,它會阻塞segm 11。