首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java上创建Go-back-N滑动窗口客户端

在java上创建Go-back-N滑动窗口客户端
EN

Stack Overflow用户
提问于 2013-05-02 08:08:01
回答 1查看 2.1K关注 0票数 0

我正在尝试用java创建一个客户端,以便使用返回N滑动窗口通过UDP传输文件。我使用的是TftpPacket,但这与问题无关。我的问题是我如何才能进行确认控制。示例:

有一个分成15个段的文件,窗口长度为10。所以首先它将发送10段,但是包2丢失了,所以客户端发送10段,服务器只确认第一段,所以客户端发送段11并停止。在超时之后,客户端再次发送,但这次的窗口将被定义为从segm 2到segm 11 (10个segm窗口),依此类推。

我的问题是,我不能理解如何控制窗口,所以如果最后收到的ack是1,它就会阻塞在segm 11上,并在超时后重新发送整个窗口。

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 08:21:16

我认为您在OOP方面的思考方式是错误的。您应该有一个Window类,您可以在其中将其长度设置为构造函数中的一个属性,并且有两个方法,一个用于在发送方类发送数据包时减少剩余段,另一个用于在接收方发送回包时扩展剩余段。

在主类中,发送数据包,每次检查窗口中是否有剩余空间。每次发送数据包时,都会调用减少其remainingSegments属性的窗口对象的方法。如果从接收类收到确认,则调用扩展其remainingSegments属性的窗口对象的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16328387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档