场景如下:服务器先连续发送几十-几百个包。发送完毕后,客户端开始接受,就会出现严重的延迟。请教下,这个可能是什么原因?
另外又测试了下,如果发送一次,接受一次,模拟echo,就没有这个问题。
lskq00tm1#
补充下,是客户端会同时收到这几十个包,但是延迟很久2-3秒的 秒级延迟
wqnecbli2#
增大窗口
xuo3flqw3#
发送10个小包,也会延迟个4秒。
a11xaf1n4#
另外,发送10个小包,也会延迟4秒,需要每次发送都flush吗,我是每隔10ms会update
xytpbqjk5#
底层的sendto一直都是能成功发送的,但是远端recvfrom 会一直返回没有数据可接受,过了一会才能收到所有数据。 随着发送的包越多,延迟越大。。
juzqafwq6#
先检查你的 UDP 收发是否有问题,再看这里:
https://github.com/skywind3000/kcp/wiki/Flow-Control-for-Users
ippsafx77#
不好意思,之前log打印错了,又看了下,是ikcp_recv 一直返回-2,过了几秒才返回收到的所有包
7条答案
按热度按时间lskq00tm1#
补充下,是客户端会同时收到这几十个包,但是延迟很久2-3秒的 秒级延迟
wqnecbli2#
增大窗口
xuo3flqw3#
发送10个小包,也会延迟个4秒。
a11xaf1n4#
增大窗口
另外,发送10个小包,也会延迟4秒,需要每次发送都flush吗,我是每隔10ms会update
xytpbqjk5#
增大窗口
底层的sendto一直都是能成功发送的,但是远端recvfrom 会一直返回没有数据可接受,过了一会才能收到所有数据。 随着发送的包越多,延迟越大。。
juzqafwq6#
先检查你的 UDP 收发是否有问题,再看这里:
https://github.com/skywind3000/kcp/wiki/Flow-Control-for-Users
ippsafx77#
先检查你的 UDP 收发是否有问题,再看这里:
https://github.com/skywind3000/kcp/wiki/Flow-Control-for-Users
不好意思,之前log打印错了,又看了下,是ikcp_recv 一直返回-2,过了几秒才返回收到的所有包