skywind3000 / kcp

:zap: KCP - A Fast and Reliable ARQ Protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kcp大带宽传输和发送队列长度问题

RobotFly opened this issue · comments

  1. kcp 是不是无法传输大带宽,比如1000MBps ,如果能传输,是不是得修改发送和接收窗口大小,搞大点?
  2. 正如文中所说:kcp对发送queue 没有做长度的限制,那么如果存在这种场景:发送方首先开机了,不停的在往发送queue里面塞数据包,但是由于接收方还没开机,发送方就无法探测到对端的接收窗口,导致发送queue 无法太快的 往snd_buf里面送, 在这种情况下:岂不是发送queue 会一直无限制的增加,内存会堆爆的吧?
  3. 在重传策略中,如果这个包丢的次数大于kcp->dead_link ,作者会给kcp->state = (IUINT32)-1; 意思是这个包发了很多次了,还没有应答,但是作者的处理策略是仅仅给kcp->state赋值了-1; 并没有把这个包从snd_buf中移除吧,那这个包岂不是一直占着内存不释放?如果由于链路问题,存在大量这种包,岂不是会存在大量的死内存?

自己控制 queue