通知中缺少的最后两个字节,但不读

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇
ULFSöderberg.
离线
最后一次露面:8个月1周前
加入:2014-02-14 20:16
通知中缺少的最后两个字节,但不读

在将64字节的数据发送到特征时,我有一些奇怪的问题。
当客户端在数据发送后执行读取操作时,正确接收到所有64个字节。
当客户端订阅通知时只接收到通知时只接收62个字节,但如果执行额外的读取,则存在所有64个字节。因此,由于某种原因,最后两个字节在通知中丢失了。

什么会导致这种行为?

设备:
mt_dialog.
离线
最后一次露面:6个月4周前
职员
加入:2015-06-08 11:34
嗨Ulf Soderberg,

嗨Ulf Soderberg,

关于通知,设备可以通过MTU(最大传输单元)发送设备的字节的量由MTU(最大传输单元)限制,默认情况下MTU是限制在包括ATT层开销的23个字节中,因此通知的有效载荷是20个字节。通过增加MTU大小意味着您可以在一个通知上发送更多字节,因此在您的情况下,最大传输单元应为您想要发送+ 3额外字节的字节数。读取过程(当主机从外设读取值时)不受MTU大小的限制,这就是为什么您能够在特征中读取多个字节的原因。

谢谢mt_dialog.

ULFSöderberg.
离线
最后一次露面:8个月1周前
加入:2014-02-14 20:16
啊。非常感谢。那

啊。非常感谢。这解释了它。