-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Description
-
因为服务端重启,重启后收到数据通过
ikcp_parse_data中if (seg->sn == kcp->rcv_nxt && kcp->nrcv_que < kcp->rcv_wnd)判断入队列,此时conv一致,可惜的是seg->sn是之前递增的值,kcp->rcv_nxt将始终为0. 导致数据未入rcv_queue相当于未真正“接收”,因为ikcp_recv中的if (iqueue_is_empty(&kcp->rcv_queue)) return -1; -
那么此时同步
sn只能在客户端新建kcp对象吗?这个意思是否只能是业务层通过类似心跳的机制判断此时的服务器数据未真正接收(网卡收到了但是业务层未收到),然后重连?
Metadata
Metadata
Assignees
Labels
No labels