diff --git a/ikcp.c b/ikcp.c index 52dd19a..ddeb28a 100644 --- a/ikcp.c +++ b/ikcp.c @@ -33,7 +33,7 @@ const IUINT32 IKCP_CMD_WINS = 84; // cmd: window size (tell) const IUINT32 IKCP_ASK_SEND = 1; // need to send IKCP_CMD_WASK const IUINT32 IKCP_ASK_TELL = 2; // need to send IKCP_CMD_WINS const IUINT32 IKCP_WND_SND = 32; -const IUINT32 IKCP_WND_RCV = 256; // must >= max fragment size +const IUINT32 IKCP_WND_RCV = 128; // must >= max fragment size const IUINT32 IKCP_MTU_DEF = 1400; const IUINT32 IKCP_ACK_FAST = 3; const IUINT32 IKCP_INTERVAL = 100; @@ -505,7 +505,7 @@ int ikcp_send(ikcpcb *kcp, const char *buffer, int len) if (len <= (int)kcp->mss) count = 1; else count = (len + kcp->mss - 1) / kcp->mss; - if (count > 255) return -2; + if (count >= IKCP_WND_RCV) return -2; if (count == 0) count = 1; @@ -1251,7 +1251,7 @@ int ikcp_wndsize(ikcpcb *kcp, int sndwnd, int rcvwnd) kcp->snd_wnd = sndwnd; } if (rcvwnd > 0) { // must >= max fragment size - kcp->rcv_wnd = _imax_(rcvwnd, 256); + kcp->rcv_wnd = _imax_(rcvwnd, IKCP_WND_RCV); } } return 0;