diff --git a/Network-Layer.md b/Network-Layer.md index da7665a..a38323b 100644 --- a/Network-Layer.md +++ b/Network-Layer.md @@ -12,4 +12,13 @@ kcp 的 input, output 方法用来对接下层的 udp 收发模块。而 ikcp_se  +假设你设计了一套 fec 协议,那么可以把 kcp 的 input/output 和fec协议的 send/recv 串联起来,使 kcp->output 被调用时,把kcp希望 +发送的数据调用 fec 的 send 方法传递给 fec模块,而从 fec 模块 recv 到的数据再反向 input 给 kcp。 + +而原来直接和 kcp 接触的 udp 传输层,就放到了 fec层下面,与 fec打交道,这样就完成了协议组装。 + +# 协议栈 + +你可能需要实现 UDP绘话管理,KCP,加密 等若干功能,那么最好的做法就是把他们实现成协议单元,然后串联起来成为协议栈,这样每一层可以 +单独开发调试,需要时再进行串联,这是网络库成熟的写法。