Description
Utilisez l'API chrome.bluetoothSocket
pour envoyer et recevoir des données vers des appareils Bluetooth à l'aide de connexions RFCOMM et L2CAP.
Fichier manifeste
Pour utiliser cette API, vous devez déclarer les clés suivantes dans le fichier manifeste.
"bluetooth"
Types
AcceptError
Énumération
"system_error"
Une erreur système s'est produite et la connexion est peut-être irrécupérable.
"not_listening"
Le socket n'écoute pas.
AcceptErrorInfo
Propriétés
-
erreur
Code d'erreur indiquant le problème.
-
errorMessage
chaîne
Message d'erreur.
-
socketId
Nombre
Identifiant du socket du serveur.
AcceptInfo
Propriétés
-
clientSocketId
Nombre
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
Nombre
Identifiant du socket du serveur.
CreateInfo
Propriétés
-
socketId
Nombre
ID du socket nouvellement créé. Notez que les ID de socket créés à partir de cette API ne sont pas compatibles avec les ID de socket 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 elle est spécifiée, ce canal ne doit pas avoir été utilisé auparavant, sinon l'appel de méthode échouera. Si vous ne spécifiez pas de canal, un canal inutilisé sera automatiquement attribué. -
psm
number facultatif
PSM L2CAP utilisé par
listenUsingL2cap
. Si elle est spécifiée, cette PSM ne doit pas avoir été utilisée précédemment, sinon l'appel de méthode échouera. Si aucune valeur n'est spécifiée, un PSM inutilisé est automatiquement attribué.
ReceiveError
Énumération
"disconnected"
La connexion a été interrompue.
"system_error"
Une erreur système s'est produite et la connexion est peut-être irrécupérable.
"not_connected"
La prise n'a pas été connectée.
ReceiveErrorInfo
Propriétés
-
erreur
Code d'erreur indiquant le problème.
-
errorMessage
chaîne
Message d'erreur.
-
socketId
Nombre
Identifiant du socket.
ReceiveInfo
Propriétés
-
données
ArrayBuffer
Données reçues, avec une taille maximale de
bufferSize
. -
socketId
Nombre
Identifiant du socket.
SocketInfo
Propriétés
-
adresse
chaîne facultatif
Si le socket sous-jacent est connecté, contient l'adresse Bluetooth de l'appareil auquel il est connecté.
-
bufferSize
number facultatif
Taille de la mémoire tampon utilisée pour recevoir des données. Si aucune taille de 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 homologue distant.
-
nom
chaîne facultatif
Chaîne définie par l'application associée au socket.
-
mis en veille
booléen
Indicateur indiquant si un socket connecté empêche son homologue d'envoyer d'autres 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 la file d'attente d'écoute. Consultez lessetPaused
. 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ésinstallée (voir
SocketProperties.persistent
). La valeur par défaut est "false". -
socketId
Nombre
Identifiant du socket.
-
uuid
chaîne facultatif
Si le socket sous-jacent est connecté, contient des informations sur l'UUID du service auquel il est connecté. Sinon, si le socket sous-jacent est en écoute, contient des informations sur l'UUID du service sur lequel il est en écoute.
SocketProperties
Propriétés
-
bufferSize
number facultatif
Taille de la mémoire tampon utilisée pour recevoir des données. La valeur par défaut est 4 096.
-
nom
chaîne facultatif
Chaîne définie par l'application 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ésinstallé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 avecgetSockets
.
Méthodes
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Déconnecte et détruit le socket. Chaque socket créé doit être fermé après utilisation. L'ID de socket n'est plus valide dès l'appel de la fonction. Toutefois, le socket n'est fermé que lorsque le rappel est appelé.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
Connecte la prise à un appareil Bluetooth distant. Lorsque l'opération connect
aboutit, des événements onReceive
sont générés lorsque des données sont reçues de l'homologue. Si une erreur réseau se produit pendant que l'environnement d'exécution reçoit des paquets, un événement onReceiveError
est généré. À ce stade, aucun autre événement onReceive
ne sera généré pour ce socket tant que la méthode setPaused(false)
n'est pas appelée.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
adresse
chaîne
Adresse de l'appareil Bluetooth.
-
uuid
chaîne
UUID du service auquel se connecter.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Crée un socket Bluetooth.
Paramètres
-
du bucket
SocketProperties facultatif
Propriétés du socket (facultatif)
-
rappel
fonction 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 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Déconnecte la prise. L'identifiant de socket reste valide.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Récupère l'état du socket donné.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :(socketInfo: SocketInfo) => void
-
socketInfo
Objet contenant les informations sur le socket.
-
Renvoie
-
Promise<SocketInfo>
Chrome 91 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
Récupère la liste des sockets actuellement ouverts appartenant à l'application.
Paramètres
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :(sockets: SocketInfo[]) => void
-
sockets
-
Renvoie
-
Promise<SocketInfo[]>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Écoutez les connexions à l'aide du protocole L2CAP.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
uuid
chaîne
UUID du service à écouter.
-
options
ListenOptions facultatif
Options supplémentaires facultatives pour le service.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Écoutez les connexions à l'aide du protocole RFCOMM.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
uuid
chaîne
UUID du service à écouter.
-
options
ListenOptions facultatif
Options supplémentaires facultatives pour le service.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
Envoie des données sur le socket Bluetooth donné.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
données
ArrayBuffer
Données à envoyer.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :(bytesSent: number) => void
-
bytesSent
Nombre
Nombre d'octets envoyés.
-
Renvoie
-
Promise<number>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Active ou désactive la réception de messages par un socket connecté à son homologue ou l'acceptation de nouvelles connexions par un socket d'écoute. La valeur par défaut est "false". Une application utilise généralement la mise en pause d'un socket connecté pour limiter les données envoyées par son homologue. Lorsqu'un socket connecté est mis en pause, aucun événement onReceive
n'est généré. Lorsqu'un socket est connecté et dépausé, des événements onReceive
sont à nouveau généré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 la file d'attente soit pleine, puis les requêtes de connexion supplémentaires sont refusées. Les événements onAccept
ne sont déclenchés que lorsque le socket est débloqué.
Paramètres
-
socketId
Nombre
-
mis en veille
booléen
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Met à jour les propriétés du socket.
Paramètres
-
socketId
Nombre
Identifiant du socket.
-
du bucket
Propriétés à mettre à jour.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 91 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Événement généré lorsqu'une connexion a été établie pour un socket donné.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(info: AcceptInfo) => void
-
infos
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Événement généré lorsqu'une erreur réseau s'est produite alors que l'environnement d'exécution attendait de nouvelles connexions sur le socket donné. Une fois cet événement généré, le socket est défini sur paused
et aucun autre événement onAccept
n'est généré pour ce socket.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(info: AcceptErrorInfo) => void
-
infos
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Événement généré lorsque des données ont été reçues pour un socket donné.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(info: ReceiveInfo) => void
-
infos
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Événement généré lorsqu'une erreur réseau s'est produite alors que l'environnement d'exécution attendait des données sur le socket. Une fois cet événement généré, le socket est défini sur paused
et aucun autre événement onReceive
n'est généré pour ce socket.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(info: ReceiveErrorInfo) => void
-
infos
-