ikcp_input 返回0 ,ikcp_recv 一直返回-1

uhry853o  于 2022-10-25  发布在  其他
关注(0)|答案(6)|浏览(358)

UDP 接受的字节数据
(通过UDP客户端 kcp发送的), 将字节赋值给ikcp_input 返回0, 但是调用ikcp_recv 一直返回-1
原因为:rcv_queue 无数据

但是input 执行了,并且ikcp_parse_data 已执行

模式为:KCP.ikcp_nodelay(kcp, 0, 30, 2, 1);

qc6wkl3g

qc6wkl3g1#

if (seg->sn == kcp->rcv_nxt && kcp->nrcv_que < kcp->rcv_wnd)

打印的值为: sn = 12 rcv_nxt = 0 nrcv_que = 0 rcv_wnd = 128.... 所有没有加入队列。。。

8mmmxcuj

8mmmxcuj2#

怎么出现的?请给出最简复现代码。

7gyucuyw

7gyucuyw3#

谢谢大佬, 我已经解决了 就是客户端和服务器 连接时候没有同步 sn

rpppsulh

rpppsulh4#

再次请问下, 我udp 服务器。 是需要建立kcp pool 去存储每个用户的kcp 示例,然后维护。。是这样操作的么。。。。

4uqofj5v

4uqofj5v5#

当然,不能多用户混用,同时单用户断线重连,要销毁老的 kcp 对象,再新建一个,每次两边 sn 都是从 0 开始,为啥要同步呢?

guicsvcw

guicsvcw6#

好的,谢谢,已经用上了,双端很稳定,谢谢…

------------------ 原始邮件 ------------------ 发件人: 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.

相关问题