chrome.bluetoothSocket

Description

Utilisez l'API chrome.bluetoothSocket pour envoyer et recevoir des données vers des appareils Bluetooth à l'aide des connexions RFCOMM et L2CAP.

Fichier manifeste

Les clés suivantes doivent être déclarées dans le fichier manifeste pour utiliser cette API.

"bluetooth"

Types

AcceptError

Énumération

"system_error"
Une erreur système s'est produite et la connexion peut être irrécupérable.

"not_listening"
Le socket n'est pas à l'écoute.

AcceptErrorInfo

Propriétés

  • erreur

    Code d'erreur indiquant ce qui s'est mal passé.

  • errorMessage

    chaîne

    Message d'erreur.

  • socketId

    Total

    Identifiant du socket du serveur.

AcceptInfo

Propriétés

  • clientSocketId

    Total

    Identifiant du socket client, c'est-à-dire l'identifiant du socket de la connexion nouvellement établie. Cet identifiant de socket ne doit être utilisé qu'avec les fonctions de l'espace de noms chrome.bluetoothSocket. Notez que le socket client est initialement mis en pause et doit être explicitement réactivé par l'application pour commencer à recevoir des données.

  • socketId

    Total

    Identifiant du socket du serveur.

CreateInfo

Propriétés

  • socketId

    Total

    ID du socket nouvellement créé. Notez que les ID de socket créés à partir de cette API ne sont pas compatibles avec ceux créés à partir d'autres API, telles que l'API [sockets.tcp](../sockets_tcp/).

ListenOptions

Propriétés

  • backlog

    number facultatif

    Longueur de la file d'attente d'écoute du socket. La valeur par défaut dépend du sous-système hôte du système d'exploitation.

  • chaîne

    number facultatif

    Canal RFCOMM utilisé par listenUsingRfcomm. Si ce canal est spécifié, il ne doit pas être déjà utilisé, sinon l'appel de méthode échouera. Si aucun canal n'est spécifié, un canal inutilisé est automatiquement attribué.

  • psm

    number facultatif

    PSM L2CAP utilisé par listenUsingL2cap. Si elle est spécifiée, cette PSM ne doit pas être déjà utilisée, sinon l'appel de méthode échouera. Si aucun PSM n'est spécifié, un PSM inutilisé est automatiquement attribué.

ReceiveError

Énumération

"disconnected"
La connexion a été déconnectée.

"system_error"
Une erreur système s'est produite et la connexion peut être irrécupérable.

"not_connected"
La prise n'a pas été connectée.

ReceiveErrorInfo

Propriétés

  • erreur

    Code d'erreur indiquant ce qui s'est mal passé.

  • errorMessage

    chaîne

    Message d'erreur.

  • socketId

    Total

    Identifiant du socket.

ReceiveInfo

Propriétés

  • données

    ArrayBuffer

    Données reçues, avec une taille maximale de bufferSize.

  • socketId

    Total

    Identifiant du socket.

SocketInfo

Propriétés

  • adresse

    chaîne facultative

    Si le socket sous-jacent est connecté, il contient l'adresse Bluetooth de l'appareil auquel il est connecté.

  • bufferSize

    number facultatif

    Taille du tampon utilisé pour recevoir les données. Si aucune taille de mémoire tampon n'a été spécifiée explicitement, la valeur n'est pas fournie.

  • connecté

    booléen

    Indicateur indiquant si le socket est connecté à un pair distant.

  • nom

    chaîne facultative

    Chaîne définie par l'application et associée au socket.

  • mis en veille

    booléen

    Indicateur indiquant si un socket connecté empêche son homologue d'envoyer plus de données, ou si les requêtes de connexion sur un socket d'écoute sont distribuées via l'événement onAccept ou mises en file d'attente dans le backlog de la file d'attente d'écoute. Consultez les setPaused. La valeur par défaut est "false".

  • SSD

    booléen

    Indicateur indiquant si le socket reste ouvert lorsque la page d'événement de l'application est déchargée (voir SocketProperties.persistent). La valeur par défaut est "false".

  • socketId

    Total

    Identifiant du socket.

  • uuid

    chaîne facultative

    Si le socket sous-jacent est connecté, il contient des informations sur le UUID du service auquel il est connecté. Sinon, si le socket sous-jacent est à l'écoute, il contient des informations sur le UUID du service sur lequel il est à l'écoute.

SocketProperties

Propriétés

  • bufferSize

    number facultatif

    Taille du tampon utilisé pour recevoir les données. La valeur par défaut est 4 096.

  • nom

    chaîne facultative

    Chaîne définie par l'application et associée au socket.

  • SSD

    booléen facultatif

    Indicateur indiquant si le socket est laissé ouvert lorsque la page d'événement de l'application est déchargée (voir Gérer le cycle de vie de l'application). La valeur par défaut est false.. Lorsque l'application est chargée, tous les sockets précédemment ouverts avec persistent=true peuvent être récupérés avec getSockets.

Méthodes

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Déconnecte et détruit le socket. Chaque socket créé doit être fermé après utilisation. L'ID du socket n'est plus valide dès que la fonction est appelée. Toutefois, la fermeture du socket n'est garantie que lorsque le rappel est invoqué.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

connect()

Promise
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)
: Promise<void>

Connecte le socket à un appareil Bluetooth distant. Lorsque l'opération connect se termine correctement, des événements onReceive sont déclenchés lorsque des données sont reçues du pair. Si une erreur réseau se produit pendant que le runtime reçoit des paquets, un événement onReceiveError est déclenché. À ce moment-là, aucun autre événement onReceive ne sera déclenché pour ce socket tant que la méthode setPaused(false) n'aura pas été appelée.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • adresse

    chaîne

    Adresse de l'appareil Bluetooth.

  • uuid

    chaîne

    UUID du service auquel se connecter.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Crée un socket Bluetooth.

Paramètres

  • properties

    SocketProperties facultatif

    Propriétés du socket (facultatif).

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (createInfo: CreateInfo) => void

    • createInfo

      Résultat de la création du socket.

Renvoie

  • Promise<CreateInfo>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

disconnect()

Promise
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Déconnecte le socket. L'identifiant du socket reste valide.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getInfo()

Promise
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Récupère l'état du socket donné.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objet contenant les informations du socket.

Renvoie

  • Promise<SocketInfo>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Récupère la liste des sockets actuellement ouverts appartenant à l'application.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (sockets: SocketInfo[]) => void

Renvoie

  • Promise<SocketInfo[]>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

listenUsingL2cap()

Promise
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Écoutez les connexions à l'aide du protocole L2CAP.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • uuid

    chaîne

    UUID du service à écouter.

  • options

    ListenOptions facultatif

    Options supplémentaires facultatives pour le service.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

listenUsingRfcomm()

Promise
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Écoutez les connexions à l'aide du protocole RFCOMM.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • uuid

    chaîne

    UUID du service à écouter.

  • options

    ListenOptions facultatif

    Options supplémentaires facultatives pour le service.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

send()

Promise
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<number>

Envoie des données sur le socket Bluetooth spécifié.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • données

    ArrayBuffer

    Données à envoyer.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (bytesSent: number) => void

    • bytesSent

      Total

      Nombre d'octets envoyés.

Renvoie

  • Promise<number>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setPaused()

Promise
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Active ou désactive la réception de messages par un socket connecté depuis son homologue, ou l'acceptation de nouvelles connexions par un socket d'écoute. La valeur par défaut est "false". La mise en veille d'un socket connecté est généralement utilisée par une application pour limiter les données envoyées par son homologue. Lorsqu'un socket connecté est mis en pause, aucun événement onReceive n'est déclenché. Lorsqu'un socket est connecté et que la mise en pause est annulée, les événements onReceive sont à nouveau déclenchés lorsque des messages sont reçus. Lorsqu'un socket d'écoute est mis en pause, les nouvelles connexions sont acceptées jusqu'à ce que son backlog soit plein, puis les demandes de connexion supplémentaires sont refusées. Les événements onAccept ne sont déclenchés que lorsque le socket est réactivé.

Paramètres

  • socketId

    Total

  • mis en veille

    booléen

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

update()

Promise
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Met à jour les propriétés du socket.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • properties

    Propriétés à mettre à jour.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 91 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

Événement déclenché lorsqu'une connexion a été établie pour un socket donné.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

Événement déclenché lorsqu'une erreur réseau s'est produite pendant que le runtime attendait de nouvelles connexions sur le socket donné. Une fois cet événement déclenché, le socket est défini sur paused et aucun autre événement onAccept n'est déclenché pour ce socket.

Paramètres

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

Événement déclenché lorsque des données ont été reçues pour un socket donné.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (info: ReceiveInfo) => void

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

Événement déclenché lorsqu'une erreur réseau s'est produite pendant que l'environnement d'exécution attendait des données sur le socket. Une fois cet événement déclenché, le socket est défini sur paused et aucun autre événement onReceive n'est déclenché pour ce socket.

Paramètres