BLEL2CAP层-分段与分片
创始人
2024-12-22 14:00:31
0

BLE L2CAP层中,数据传输时常涉及到将较大的数据包拆分成多个较小的片段或分段,以便更好地适应传输过程中的限制条件。处理这个问题的方式有两种:分段和分片。

分段是指在将数据拆分成若干较小的数据块时,直接按照一定大小进行分割,每个分段的大小都是相等的。在BLE的L2CAP层中,这个大小为64字节。如下代码示例使用L2CAP分段的方法传输数据:

bt_status_t l2cap_send_segments(uint16_t handle, uint16_t cid, const uint8_t* data, uint32_t len) {
    uint32_t offset = 0;
    uint32_t remain = len;
    while (remain > 0) {
        uint32_t size = (remain > L2CAP_DEFAULT_MTU) ? L2CAP_DEFAULT_MTU : remain;
        bt_status_t status = send_l2cap_packet(handle, cid, data + offset, size);
        if (status != BT_STATUS_SUCCESS) {
            return status;
        }
        remain -= size;
        offset += size;
    }
    return BT_STATUS_SUCCESS;
}

分片是指将数据拆分成多个大小不一的片段,每个片段的大小由传输时的实际限制条件决定。在BLE的L2CAP层中,片段大小通常由接收端的MTU(Maximum Transmission Unit,最大传输单元)和双方协商的MTU共同决定。如下代码示例使用L2CAP分片的方法传输数据:

bt_status_t l2cap_send_fragments(uint16_t handle, uint16_t cid, const uint8_t* data, uint32_t len) {
    uint32_t offset = 0;
    uint32_t remain = len;
    while (remain > 0) {
        uint32_t size =

相关内容

热门资讯

黑科技辅助挂!AAPOKEr透... 黑科技辅助挂!AAPOKEr透明挂系统机制,(aapokER)详细辅助存在挂教程(有挂透视)1、AA...
黑科技辅助挂!智星德州菠萝辅助... 黑科技辅助挂!智星德州菠萝辅助器工具,智星德州外挂,2025新版(有挂辅助器);1、智星德州菠萝系统...
黑科技辅助挂!aapOKER透... 黑科技辅助挂!aapOKER透明挂有外挂,(AAPOker)切实真的有挂,透明挂教程(有挂软件);1...
黑科技辅助挂!(AAPOKEr... 黑科技辅助挂!(AAPOKEr)一贯是真的有挂,(aa扑克)果然真的有挂,攻略教程(有挂透明)1、上...
黑科技辅助挂!(WpK)其实有... 黑科技辅助挂!(WpK)其实有挂,(WPK)一贯真的有挂,技巧教程(有挂神器);黑科技辅助挂!(Wp...
黑科技辅助挂!(AAPOKeR... 黑科技辅助挂!(AAPOKeR)果然真的是有挂,(Aapoker)确实是真的有挂,AI教程(有挂黑科...
黑科技辅助挂!AAPOKer透... 黑科技辅助挂!AAPOKer透明挂德州辅助工具,(aaPOKER)切实有挂,详细教程(有挂科技)1、...
黑科技辅助!WepOke透明挂... 黑科技辅助!WepOke透明挂透视挂靠谱,(wePOke)总是有挂,详细教程(有挂总结)1、任何we...
黑科技辅助!wePOKE透明挂... 黑科技辅助!wePOKE透明挂软件规律,(wEPoke)果然是真的有挂,透视教程(有挂软件);wEP...
黑科技辅助挂!(WEpoke)... 黑科技辅助挂!(WEpoke)总是真的有挂,(wEPoke)都是真的是有挂,科技教程(有挂辅助器);...