kcp icon indicating copy to clipboard operation
kcp copied to clipboard

:zap: KCP - A Fast and Reliable ARQ Protocol

Results 129 kcp issues
Sort by recently updated
recently updated
newest added

hi, can anyone tell me the best settings for video streaming? thanks!

1,场景:实时对战,类似小时候玩的的坦克大战游戏 2,问题:能收到对面的攻击消息,自己的消息发不出去, 另外每一秒发送一次ping消息 3,参数设置: nodelay:1 ikcp_wndsize:1024 interval:10ms minrto:10 update根据check方法调用 请问下我目前的设置有什么问题吗?

//搜索rcv_buf是否已经收到该sn for (p = kcp->rcv_buf.prev; p != &kcp->rcv_buf; p = prev) { IKCPSEG *seg = iqueue_entry(p, IKCPSEG, node); prev = p->prev; if (seg->sn == sn) { repeat = 1; //已收到...

1.虽然sn 四个字节 但是应该得处理序号回绕 2.acklist 一直增加 因为去掉 una之前的 acklist的值

Sometime ikcp_flush() raise segmentation fault. Below is back trace. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000562b87393905 in ikcp_flush (kcp=0x7f2fbc4f5d30) at ikcp.c:1052 1052 if (segment->xmit == 0) { [Current...

使用KCP传送PCM的音频,当一首歌结束后,因为网络延时原因,还有部分数据缓存在KCP中,如何安全的将未发送的数据清理掉?以下实现可以不? void ikcp_clearsnd(ikcpcb *kcp) { if(kcp) { IKCPSEG *seg; while (!iqueue_is_empty(&kcp->snd_buf)) { seg = iqueue_entry(kcp->snd_buf.next, IKCPSEG, node); iqueue_del(&seg->node); ikcp_segment_delete(kcp, seg); } while (!iqueue_is_empty(&kcp->snd_queue)) { seg = iqueue_entry(kcp->snd_queue.next, IKCPSEG, node); iqueue_del(&seg->node);...

请问作者,我udp发音视频,会出现大量丢包,所以想用kcp来做可靠传输,因为一帧视频有时有200K左右,想问这么大的数据,可以使用kcp吗

the count should be less than the configured receive window, not the default receive window

在ikcp_send函数里有一处判断发送的分片数是否超过接收缓冲的判断: if (count >= (int)IKCP_WND_RCV) return -2; 这个判断应该只适用数据报模式,而不应该适用流模式,而且还少判断了一个条件,就是frg越界的问题,在报文头部,这个字段是一个字节,最大值为255,也就是说,这个count不能超过这个数,而不是不超过最大接收缓冲就可以的。所以,我修改如下: if (kcp->stream == 0) { int max_cnt = (int)_imin_(IKCP_WND_RCV, 256); if (count >= max_cnt) return -2; } 请大神确认一下