ikcp_input 返回0 ,ikcp_recv 一直返回-1
UDP 接受的字节数据 (通过UDP客户端 kcp发送的), 将字节赋值给ikcp_input 返回0, 但是调用ikcp_recv 一直返回-1 原因为:rcv_queue 无数据
但是input 执行了,并且ikcp_parse_data 已执行
模式为:KCP.ikcp_nodelay(kcp, 0, 30, 2, 1);
if (seg->sn == kcp->rcv_nxt && kcp->nrcv_que < kcp->rcv_wnd)
打印的值为: sn = 12 rcv_nxt = 0 nrcv_que = 0 rcv_wnd = 128.... 所有没有加入队列。。。
怎么出现的?请给出最简复现代码。
谢谢大佬, 我已经解决了 就是客户端和服务器 连接时候没有同步 sn
再次请问下, 我udp 服务器。 是需要建立kcp pool 去存储每个用户的kcp 实例,然后维护。。是这样操作的么。。。。
当然,不能多用户混用,同时单用户断线重连,要销毁老的 kcp 对象,再新建一个,每次两边 sn 都是从 0 开始,为啥要同步呢?
好的,谢谢,已经用上了,双端很稳定,谢谢
------------------ 原始邮件 ------------------ 发件人: Linwei @.> 发送时间: 2021年4月28日 20:03 收件人: skywind3000/kcp @.> 抄送: Xuqichang @.>, Author @.> 主题: 回复:[skywind3000/kcp] ikcp_input 返回0 ,ikcp_recv 一直返回-1 (#312)
当然,不能多用户混用,同时单用户断线重连,要销毁老的 kcp 对象,再新建一个,每次两边 sn 都是从 0 开始,为啥要同步呢?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.