自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 kcp关键函数总结

是 KCP 协议的核心函数之一,用于接收来自网络的数据包,并将这些数据包解析后处理(如更新状态、确认数据、将接收的数据放入接收队列等)。所有 KCP 会话的操作都依赖于这个控制块,它可以被视为 KCP 协议的核心对象。它负责将有序的、可用的数据从 KCP 的接收缓冲区移动到应用程序提供的缓冲区中。它处理超时重传、数据发送、窗口更新、流控等操作,是定时器驱动机制的关键。将接收队列中的分片数据拼接起来,并复制到应用层提供的缓冲区中。是 KCP 的核心逻辑调度函数,负责更新协议的状态。

2024-11-26 23:43:40 1288

原创 kcp之数据发送流程

KCP 的数据发送逻辑围绕发送队列 (snd_queue和发送窗口 (snd_buf用户调用,将数据加入发送队列。通过分片机制,将长数据拆分成多个段。调用更新发送状态,动态调整发送窗口并发送数据。数据通过用户设置的回调函数output()发送到底层 UDP 套接字。发送过程中,依靠滑动窗口和流量控制,避免网络拥塞并确保可靠传输。这些机制结合在一起,使 KCP 能够在不可靠的 UDP 传输上实现可靠、高效的数据传输。

2024-11-23 22:44:37 967

原创 kcp协议之接收数据流程

底层接收 (ikcp_input解析协议头,校验数据合法性。数据片段存入接收缓冲区rcv_buf。发送 ACK 确认包。应用层提取 (ikcp_recv检查是否有完整数据。将分片数据按照顺序组装成完整消息。返回数据给用户。通过ikcp_input和ikcp_recv的配合,KCP 实现了可靠、高效的数据接收和组装机制。

2024-11-23 22:18:21 1216

原创 kcp协议之数据包格式

每个数据包都由一个固定长度的头部和可变长度的负载数据组成。以下是 KCP 数据包的详细结构。将用户数据打包,KCP 按需将数据分片,并为每个分片构造一个完整的数据包。,从接收队列中提取完整的用户数据,并将分片数据按照。接收方在解析完数据包后,根据序列号。数据包通过 UDP 发送到接收方。),更新发送方的窗口状态。KCP 协议的核心是。

2024-11-23 21:48:51 373

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除