Descrizione
Utilizza l'API chrome.bluetoothSocket
per inviare e ricevere dati ai dispositivi Bluetooth utilizzando connessioni RFCOMM e L2CAP.
Manifest
Per utilizzare questa API, le seguenti chiavi devono essere dichiarate nel file manifest.
"bluetooth"
Tipi
AcceptError
Enum
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.
"not_listening"
La socket non è in ascolto.
AcceptErrorInfo
Proprietà
-
errore
Un codice di errore che indica cosa non va.
-
errorMessage
stringa
Il messaggio di errore.
-
socketId
numero
L'identificatore del socket del server.
AcceptInfo
Proprietà
-
clientSocketId
numero
L'identificatore del socket del client, ovvero l'identificatore del socket della connessione appena stabilita. Questo identificatore di socket deve essere utilizzato solo con le funzioni dello spazio dei nomi
chrome.bluetoothSocket
. Tieni presente che la socket del client è inizialmente in pausa e deve essere riattivata esplicitamente dall'applicazione per iniziare a ricevere dati. -
socketId
numero
L'identificatore del socket del server.
CreateInfo
Proprietà
-
socketId
numero
L'ID della presa appena creata. Tieni presente che gli ID socket creati da questa API non sono compatibili con gli ID socket creati da altre API, come l'API
[
sockets.tcp](../sockets_tcp/)
.
ListenOptions
Proprietà
-
backlog
number facoltativo
Lunghezza della coda di ascolto del socket. Il valore predefinito dipende dal sottosistema host del sistema operativo.
-
canale
number facoltativo
Il canale RFCOMM utilizzato da
listenUsingRfcomm
. Se specificato, questo canale non deve essere già in uso, altrimenti la chiamata al metodo avrà esito negativo. Se non specificato, verrà allocato automaticamente un canale inutilizzato. -
psm
number facoltativo
Il PSM L2CAP utilizzato da
listenUsingL2cap
. Se specificato, questo PSM non deve essere già in uso o la chiamata al metodo avrà esito negativo. Se non specificato, verrà allocato automaticamente un PSM inutilizzato.
ReceiveError
Enum
"disconnected"
La connessione è stata disconnessa.
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.
"not_connected"
La presa non è stata collegata.
ReceiveErrorInfo
Proprietà
-
errore
Un codice di errore che indica cosa non va.
-
errorMessage
stringa
Il messaggio di errore.
-
socketId
numero
L'identificatore della presa.
ReceiveInfo
Proprietà
-
dati
ArrayBuffer
I dati ricevuti, con una dimensione massima di
bufferSize
. -
socketId
numero
L'identificatore della presa.
SocketInfo
Proprietà
-
indirizzo
stringa facoltativa
Se la socket sottostante è connessa, contiene l'indirizzo Bluetooth del dispositivo a cui è connessa.
-
bufferSize
number facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Se non è stata specificata esplicitamente alcuna dimensione del buffer, il valore non viene fornito.
-
connesso
booleano
Indica se la presa è connessa a un peer remoto.
-
nome
stringa facoltativa
Stringa definita dall'applicazione associata alla presa.
-
in pausa
booleano
Indica se una socket connessa impedisce al peer di inviare altri dati o se le richieste di connessione su una socket in ascolto vengono inviate tramite l'evento
onAccept
o messe in coda nella coda di ascolto. Leggi isetPaused
. Il valore predefinito è "false". -
persistente
booleano
Indica se la presa rimane aperta quando viene scaricata la pagina dell'evento dell'applicazione (vedi
SocketProperties.persistent
). Il valore predefinito è "false". -
socketId
numero
L'identificatore della presa.
-
UUID
stringa facoltativa
Se la socket sottostante è connessa, contiene informazioni sull'UUID del servizio a cui è connessa, altrimenti, se la socket sottostante è in ascolto, contiene informazioni sull'UUID del servizio su cui è in ascolto.
SocketProperties
Proprietà
-
bufferSize
number facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
nome
stringa facoltativa
Una stringa definita dall'applicazione associata alla presa.
-
persistente
booleano facoltativo
Indica se la presa viene lasciata aperta quando viene scaricata la pagina dell'evento dell'applicazione (vedi Gestire il ciclo di vita dell'app). Il valore predefinito è
false.
. Quando l'applicazione viene caricata, tutti i socket aperti in precedenza con persistent=true possono essere recuperati congetSockets
.
Metodi
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Scollega e distrugge la presa. Ogni socket creato deve essere chiuso dopo l'uso. L'ID socket non è più valido non appena viene chiamata la funzione. Tuttavia, è garantito che la presa venga chiusa solo quando viene invocato il callback.
Parametri
-
socketId
numero
L'identificatore della presa.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
Collega la presa a un dispositivo Bluetooth remoto. Quando l'operazione connect
viene completata correttamente, vengono generati eventi onReceive
quando i dati vengono ricevuti dal peer. Se si verifica un errore di rete durante la ricezione dei pacchetti dal runtime, viene generato un evento onReceiveError
, a quel punto non verrà generato più nessun evento onReceive
per questa socket finché non viene chiamato il metodo setPaused(false)
.
Parametri
-
socketId
numero
L'identificatore della presa.
-
indirizzo
stringa
L'indirizzo del dispositivo Bluetooth.
-
UUID
stringa
L'UUID del servizio a cui connettersi.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Crea una presa Bluetooth.
Parametri
-
proprietà
SocketProperties facoltativo
Le proprietà della presa (facoltative).
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
Il risultato della creazione della presa.
-
Resi
-
Promise<CreateInfo>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Scollega la presa. L'identificatore della presa rimane valido.
Parametri
-
socketId
numero
L'identificatore della presa.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato della presa specificata.
Parametri
-
socketId
numero
L'identificatore della presa.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(socketInfo: SocketInfo) => void
-
socketInfo
Oggetto contenente le informazioni sulla presa.
-
Resi
-
Promise<SocketInfo>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
Recupera l'elenco dei socket attualmente aperti di proprietà dell'applicazione.
Parametri
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(sockets: SocketInfo[]) => void
-
prese
-
Resi
-
Promise<SocketInfo[]>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Ascolta le connessioni utilizzando il protocollo L2CAP.
Parametri
-
socketId
numero
L'identificatore della presa.
-
UUID
stringa
L'UUID del servizio su cui ascoltare.
-
opzioni
ListenOptions facoltativo
Opzioni aggiuntive facoltative per il servizio.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Ascolta le connessioni utilizzando il protocollo RFCOMM.
Parametri
-
socketId
numero
L'identificatore della presa.
-
UUID
stringa
L'UUID del servizio su cui ascoltare.
-
opzioni
ListenOptions facoltativo
Opzioni aggiuntive facoltative per il servizio.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
Invia dati sulla presa Bluetooth specificata.
Parametri
-
socketId
numero
L'identificatore della presa.
-
dati
ArrayBuffer
I dati da inviare.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(bytesSent: number) => void
-
bytesSent
numero
Il numero di byte inviati.
-
Resi
-
Promise<number>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Consente o impedisce a una socket collegata di ricevere messaggi dal peer o a una socket in ascolto di accettare nuove connessioni. Il valore predefinito è "false". La messa in pausa di una socket connessa viene in genere utilizzata da un'applicazione per limitare i dati inviati dal peer. Quando una socket connessa viene messa in pausa, non viene generato alcun evento onReceive
. Quando una socket è connessa e non è in pausa, gli eventi onReceive
vengono generati di nuovo quando vengono ricevuti i messaggi. Quando una socket di ascolto è in pausa, le nuove connessioni vengono accettate finché la coda non è piena, dopodiché le richieste di connessione aggiuntive vengono rifiutate. Gli eventi onAccept
vengono generati solo quando la messa in pausa del socket viene annullata.
Parametri
-
socketId
numero
-
in pausa
booleano
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aggiorna le proprietà del socket.
Parametri
-
socketId
numero
L'identificatore della presa.
-
proprietà
Le proprietà da aggiornare.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Evento attivato quando è stata stabilita una connessione per un determinato socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: AcceptInfo) => void
-
informazioni
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Evento attivato quando si è verificato un errore di rete mentre il runtime era in attesa di nuove connessioni sulla socket specificata. Una volta attivato questo evento, la presa viene impostata su paused
e non vengono attivati altri eventi onAccept
per questa presa.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: AcceptErrorInfo) => void
-
informazioni
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Evento attivato quando sono stati ricevuti dati per una determinata socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveInfo) => void
-
informazioni
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Evento attivato quando si è verificato un errore di rete mentre il runtime era in attesa di dati sul socket. Una volta attivato questo evento, la presa viene impostata su paused
e non vengono attivati altri eventi onReceive
per questa presa.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-