阅读源码时ikcp_send有一段
if (count >= (int)IKCP_WND_RCV) return -2;
这里用常量硬编码了单次ikcp_send的最大发送数据量为IKCP_WND_RCV * mss。
修改为让他自适应rcv_wnd,这样可以动态修改rcv_wnd来调整单次最大包大小,如下:
if (count >= (int)kcp->rcv_wnd) return -2;
会不会有什么影响?实际试了下因为frg最大是255,超过最大frg分片的包kcp会自动帮助分成多个包发送出去。
感觉在收包时处理好粘包问题是不是就可以了,有没有可能有别的坑?