Descrizione
Utilizza l'API chrome.bluetoothSocket
per inviare e ricevere dati ai dispositivi Bluetooth utilizzando le connessioni RFCOMM e L2CAP.
Manifest
Per poter utilizzare questa API, le seguenti chiavi devono essere dichiarate nel manifest.
"bluetooth"
Tipi
AcceptError
Enum
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.
"not_listening"
Il socket non è in ascolto.
AcceptErrorInfo
Proprietà
-
errore
Un codice di errore che indica il problema.
-
errorMessage
stringa
Il messaggio di errore.
-
socketId
numero
L'identificatore del socket del server.
AcceptInfo
Proprietà
-
clientSocketId
numero
L'identificatore socket client, ovvero l'identificatore socket della connessione appena stabilita. Questo identificatore socket deve essere utilizzato solo con le funzioni dello spazio dei nomi
chrome.bluetoothSocket
. Tieni presente che il socket client è inizialmente in pausa e per iniziare a ricevere i dati deve essere esplicitamente riattivato dall'applicazione. -
socketId
numero
L'identificatore del socket del server.
CreateInfo
Proprietà
-
socketId
numero
L'ID del socket appena creato. Tieni presente che gli ID socket creati da questa API non sono compatibili con gli ID socket creati da altre API, ad esempio l'API
[
sockets.tcp](../sockets_tcp/)
.
ListenOptions
Proprietà
-
arretrato
numero facoltativo
Lunghezza della coda di ascolto del socket. Il valore predefinito dipende dal sottosistema host del sistema operativo.
-
canale
numero facoltativo
Il canale RFCOMM utilizzato da
listenUsingRfcomm
. Se specificato, questo canale non deve essere già in uso, altrimenti la chiamata al metodo non andrà a buon fine. Se non specificato, verrà assegnato automaticamente un canale non utilizzato. -
ppm
numero facoltativo
Il PSM L2CAP utilizzato da
listenUsingL2cap
. Se specificato, questo PSM non deve essere in uso in precedenza, altrimenti la chiamata al metodo ha esito negativo. Se non specificato, verrà allocato automaticamente un PSM inutilizzato.
ReceiveError
Enum
"disconnesso"
La connessione è stata disconnessa.
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.
"not_connector"
La presa non è stata collegata.
ReceiveErrorInfo
Proprietà
-
errore
Un codice di errore che indica il problema.
-
errorMessage
stringa
Il messaggio di errore.
-
socketId
numero
L'identificatore del socket.
ReceiveInfo
Proprietà
-
dati
ArrayBuffer
I dati ricevuti, con una dimensione massima di
bufferSize
. -
socketId
numero
L'identificatore del socket.
SocketInfo
Proprietà
-
indirizzo
stringa facoltativo
Se la presa sottostante è collegata, contiene l'indirizzo Bluetooth del dispositivo a cui è collegata.
-
bufferSize
numero facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Se non è stata specificata in modo esplicito alcuna dimensione del buffer, il valore non viene fornito.
-
connesso
boolean
Flag che indica se il socket è connesso a un peer remoto.
-
nome
stringa facoltativo
Stringa definita dall'applicazione associata al socket.
-
in pausa
boolean
Flag che indica se un socket connesso impedisce al peer di inviare ulteriori dati o se le richieste di connessione su un socket di ascolto vengono inviate tramite l'evento
onAccept
o inserite in coda nel backlog della coda di ascolto. Leggi isetPaused
. Il valore predefinito è "false". -
permanente
boolean
Flag che indica se il socket rimane aperto quando viene scaricata la pagina degli eventi dell'applicazione (vedi
SocketProperties.persistent
). Il valore predefinito è "false". -
socketId
numero
L'identificatore del socket.
-
uuid
stringa facoltativo
Se il socket sottostante è connesso, contiene informazioni sull'UUID di servizio a cui è connesso; altrimenti, se il socket sottostante è in ascolto, contiene informazioni sull'UUID di servizio su cui è in ascolto.
SocketProperties
Proprietà
-
bufferSize
numero facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
nome
stringa facoltativo
Una stringa definita dall'applicazione associata al socket.
-
permanente
booleano facoltativo
Flag che indica se il socket rimane aperto quando viene scaricata la pagina dell'evento dell'applicazione (consulta Gestione del ciclo di vita dell'app). Il valore predefinito è
false.
. Una volta caricata l'applicazione, tutti i socket aperti in precedenza con permanente=true possono essere recuperati congetSockets
.
Metodi
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Disconnette e distrugge il socket. Ogni socket creato deve essere chiuso dopo l'utilizzo. L'ID socket non è più valido non appena viene richiamata la funzione. Tuttavia, il socket verrà chiuso soltanto quando viene richiamato il callback.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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. Una volta completata l'operazione connect
, gli eventi onReceive
vengono generati quando i dati vengono ricevuti dal peer. Se si verifica un errore di rete mentre il runtime riceve i pacchetti, viene generato un evento onReceiveError
, dopodiché non verranno generati altri eventi onReceive
per questo socket finché non viene chiamato il metodo setPaused(false)
.
Parametri
-
socketId
numero
L'identificatore del socket.
-
indirizzo
stringa
L'indirizzo del dispositivo Bluetooth.
-
uuid
stringa
L'UUID del servizio a cui connetterti.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Crea una presa Bluetooth.
Parametri
-
proprietà
SocketProperties facoltativo
Le proprietà del socket (facoltativo).
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
Il risultato della creazione del socket.
-
Ritorni
-
Promise<CreateInfo>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Disconnette la presa. L'identificatore socket rimane valido.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato del socket specificato.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(socketInfo: SocketInfo) => void
-
socketInfo
Oggetto contenente le informazioni socket.
-
Ritorni
-
Promise<SocketInfo>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(sockets: SocketInfo[]) => void
-
prese
-
Ritorni
-
Promise<SocketInfo[]>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Ascolta le connessioni che utilizzano il protocollo L2CAP.
Parametri
-
socketId
numero
L'identificatore del socket.
-
uuid
stringa
UUID del servizio per l'ascolto.
-
opzioni
ListenOptions facoltativo
Opzioni aggiuntive facoltative per il servizio.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Ascolta le connessioni che utilizzano il protocollo RFCOMM.
Parametri
-
socketId
numero
L'identificatore del socket.
-
uuid
stringa
UUID del servizio per l'ascolto.
-
opzioni
ListenOptions facoltativo
Opzioni aggiuntive facoltative per il servizio.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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 del socket.
-
dati
ArrayBuffer
I dati da inviare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(bytesSent: number) => void
-
bytesSent
numero
Il numero di byte inviati.
-
Ritorni
-
Promessa<numero>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Consente di attivare o disattivare la ricezione di messaggi di un socket connesso dal relativo peer o di un socket di ascolto in modo che non accetti nuove connessioni. Il valore predefinito è "false". La messa in pausa di un socket connesso viene in genere utilizzata da un'applicazione per limitare i dati inviati dal relativo peer. Quando un socket collegato viene messo in pausa, non viene generato alcun evento di onReceive
. Quando un socket viene collegato e riattivato, gli eventi onReceive
vengono generati di nuovo alla ricezione dei messaggi. Quando un socket di ascolto è in pausa, vengono accettate nuove connessioni fino a quando il backlog non è pieno, quindi le richieste di connessione aggiuntive vengono rifiutate. Gli eventi onAccept
vengono generati solo quando il socket viene riattivato.
Parametri
-
socketId
numero
-
in pausa
boolean
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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 del socket.
-
proprietà
Le proprietà da aggiornare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 91 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
Eventi
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Evento generato 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 generato quando si è verificato un errore di rete mentre il runtime era in attesa di nuove connessioni sul socket specificato. Una volta generato questo evento, il socket viene impostato su paused
e non vengono generati altri eventi onAccept
per questo socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: AcceptErrorInfo) => void
-
informazioni
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Evento generato quando sono stati ricevuti i dati per un determinato socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveInfo) => void
-
informazioni
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Evento generato quando si è verificato un errore di rete mentre il runtime era in attesa di dati sul socket. Una volta generato questo evento, il socket viene impostato su paused
e non vengono generati altri eventi onReceive
per questo socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-