首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔: MTU交换后MTU值大小降低(相差很大)

布尔: MTU交换后MTU值大小降低(相差很大)
EN

Stack Overflow用户
提问于 2018-05-09 14:26:28
回答 1查看 1.7K关注 0票数 1

我是BLE开发的新手。我想通过具有最大吞吐量的BLE连接发送大量数据。

我有一个GATT服务器,它运行在Linux上,还有一个客户端,它作为一个应用程序运行在Android上。我已经创建了一个最大允许大小(512字节)的自定义特性。我请求它从应用程序与一个读取操作。每次我接到在服务器端读取的电话,我都会更改它的值,直到我处理完所有的数据(我知道这不是最好的方法,但这不是目前的问题)。

至于使用android的requestConnectionPriority(CONNECTION_PRIORITY_HIGH)的连接参数,我可以看到,他们试图协商7.5ms的连接间隔,但由于某种原因,连接参数更改为15 As,并且保持不变。也许我的手机不支持,但我不这么认为。

下一件事,也是主要的问题是MTU。使用hcidump,我可以看到他们开始协商MTU,因为我可以看到来自客户端的MTU请求的值为517(默认情况下)和服务器响应具有相同的值。但是当我触发数据交换时,我可以看到(使用Wireshark)数据包只包含32字节的有效负载。我不知道这是不是我的蓝牙适配器的限制。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 20:47:22

MTU数据包可以由多个无线数据包组成,32字节的无线数据包有效负载可能是蓝牙适配器中的一个限制。此时没有手机支持7.5ms连接间隔。如果您的手机和设备支持它,您还应该启用数据长度扩展。这将允许您在整个连接事件中传输多个MTU。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50255842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档