kcp 算rtt的一个疑问

3lxsmp7m  于 2022-10-25  发布在  其他
关注(0)|答案(1)|浏览(272)

从代码看每个ack包都会用来算rtt,是否应该排除2次确认的包,以及无效的确认包?
https://github.com/skywind3000/kcp/blob/28c802e6a627caee3604e64283f695b17e597a19/ikcp.c#L791,L794
if (cmd == IKCP_CMD_ACK) { if (_itimediff(kcp->current, ts) >= 0) { ikcp_update_ack(kcp, _itimediff(kcp->current, ts)); } ikcp_parse_ack(kcp, sn); ikcp_shrink_buf(kcp);

fae0ux8s

fae0ux8s1#

今天仔细看了一下,在这之前会先更新una,所以让判断有效的ack变得复杂。。。

相关问题