mirror of
https://github.com/skywind3000/kcp.git
synced 2025-04-28 16:10:14 +08:00
Updated KCP Best Practice (markdown)
parent
0bdab78e80
commit
83e4e8e956
@ -50,4 +50,6 @@ channel == 0 使用 kcp 发送可靠包,channel == 1 使用 udp 发送非可
|
||||
|
||||
因为传输是你自己实现的,你可以在发送UDP包的头部加一个字节,来代表这个 `channel`,收到远程来的 UDP以后,也可以判断 channel==0 的话,把剩下的数据给 `ikcp_input`,否则剩下的数据为远程非可靠包。
|
||||
|
||||
这样你得到了一个新的发送函数,用channel来区别你想发送可靠数据还是非可靠数据。再统一封装一个 `connection.recv` 函数,先去 `ikcp_recv` 那里尝试收包,收不到的话,看刚才有没有收到 channel=1 的裸UDP包,有的话返回给上层用户。
|
||||
这样你得到了一个新的发送函数,用channel来区别你想发送可靠数据还是非可靠数据。再统一封装一个 `connection.recv` 函数,先去 `ikcp_recv` 那里尝试收包,收不到的话,看刚才有没有收到 channel=1 的裸UDP包,有的话返回给上层用户。
|
||||
|
||||
如果你的服务端是混用 tcp/udp 的话,你还可以设计个 channel=2 使用 TCP 发送数据,针对一些比较大的,延迟不敏感的东西。
|
Loading…
Reference in New Issue
Block a user