所以我正在通过UDP实现通信协议,这显然意味着我将自己管理所有错误处理和重传。我的原始计划是在我的数据包中将时间戳作为标题的一部分,并将所有未确认的数据包保留在重新传输队列中。然后我将通过测量数据包被确认的时间并将此时间与重传队列中数据包的时间戳进行比较来保持往返延迟时间和往返时间(在重新传输数据包之前等待确认的时间)。
然后有人告诉我,将时间戳作为数据包标题的一部分通常是在流协议中使用的东西,因为时序在这些情况下非常重要(在我的情况下,时间并不重要)。但是,我做了一些研究,看起来UDT以这种方式使用时间戳,尽管UDT不是流协议。实际上,我试图实现的有点类似于UDT。
我想我可以轻松删除标头的timestamp字段,只是跟踪与我的重传队列并行运行的另一个队列中数据包的发送时间。
我只是好奇听到你们的想法?