kcp 服务器一次性发送10-20个包(小包),客户端接受出现严重延迟(1-2秒)

k5ifujac  于 2022-12-31  发布在  其他
关注(0)|答案(7)|浏览(373)

场景如下:
服务器先连续发送几十-几百个包。发送完毕后,客户端开始接受,就会出现严重的延迟。
请教下,这个可能是什么原因?

另外又测试了下,如果发送一次,接受一次,模拟echo,就没有这个问题。

lskq00tm

lskq00tm1#

补充下,是客户端会同时收到这几十个包,但是延迟很久2-3秒的 秒级延迟

xuo3flqw

xuo3flqw3#

发送10个小包,也会延迟个4秒。

a11xaf1n

a11xaf1n4#

增大窗口

另外,发送10个小包,也会延迟4秒,需要每次发送都flush吗,我是每隔10ms会update

xytpbqjk

xytpbqjk5#

增大窗口

底层的sendto一直都是能成功发送的,但是远端recvfrom 会一直返回没有数据可接受,过了一会才能收到所有数据。 随着发送的包越多,延迟越大。。

ippsafx7

ippsafx77#

先检查你的 UDP 收发是否有问题,再看这里:

https://github.com/skywind3000/kcp/wiki/Flow-Control-for-Users

不好意思,之前log打印错了,又看了下,是ikcp_recv 一直返回-2,过了几秒才返回收到的所有包

相关问题