skywind3000 / kcp

:zap: KCP - A Fast and Reliable ARQ Protocol
MIT License
15.2k stars 2.49k forks source link

这里检测使用的buffer超过mtu就output一次是不是会导致seg分成两段 #395

Closed newNcy closed 1 year ago

newNcy commented 1 year ago

image

如图

skywind3000 commented 1 year ago

当然要拆分,但是接收的时候会归并的。

newNcy commented 1 year ago

哦哦 谢谢韦老师 所以是一个seg分成两个udp报文,然后收到第一个看len不够等下次接收吗 我一开始看到有mtu下意识觉得是将要放入buffer的数据会导致超出mss就发,细看才发现已经超了,不实现成前者是什么原理

newNcy commented 1 year ago

还有个问题想请教一下,类似raknet那种支持多种可靠性(丢弃小编号的包)的功能,如何实现比较好,一开始想直接改kcp来支持,因为已经有现成的重传机制,包头加点信息控制丢弃就行,后面想了下有点别扭哈哈,大佬怎么看

skywind3000 commented 1 year ago

不怎么看啊,你可以再做个类似 kcp 的东西,同时支持多种协议。

newNcy commented 1 year ago

好的 我也怕给kcp改坏了🐶

newNcy commented 1 year ago

一个seg分在两个udp报文里,后面的一段没有seg头,先到了是不是属于这两个都丢了,或者这后半段当成一个正常包处理

newNcy commented 1 year ago

image

这个头文件里没有