Comment puis-je connaître la relation entre MTU et la taille maximale des caractéristiques dans Bluetooth Low Energy (BLE)?BLE: Relation entre MTU et taille maximale caractéristique?
J'ai une carte de développement BLE qui exécute un programme 'echo' - donc quoi qu'elle reçoive, elle répond immédiatement.
Sur mon périphérique Android, si je demande une MTU de 247 octets (qui réussit) et que j'écris une caractéristique de 247 octets, elle est envoyée sous la forme de deux paquets: un de 242 octets et un de 5 octets. Toute tentative d'écriture d'une caractéristique avec plus de 244 octets donne 2 paquets - le premier avec 242 octets, le second avec les octets restants. Je ne sais pas pourquoi le premier paquet est long de 242 octets au lieu de 244, mais il est là. Si, à la place, je demande un MTU de 100 octets, le même type de chose se produit, mais les paquets se divisent lorsque la caractéristique a une longueur de plus de 97 octets et le premier paquet a toujours une longueur de 95 octets.
Il semble donc assez clair que sur ce périphérique Android particulier, la longueur maximale des paquets est inférieure de 3 octets à la valeur MTU. J'ai vu des pages parler de MTU sur iOS, où la longueur du paquet est inférieure de 3 octets à la valeur MTU. Ai-je la garantie que la différence entre MTU et la longueur maximale sera de 3 octets, sur tous les appareils mobiles et toutes les implémentations BLE?
Joliment mis Emil, pour ajouter: frais généraux dans les charges utiles est différent pour les caractéristiques d'écriture (3 octets) et les caractéristiques de lecture (1 octet). –