chrome.bluetoothSocket

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 i setPaused. 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 con getSockets.

Metodi

close()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

connect()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

create()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

disconnect()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getInfo()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getSockets()

Promessa
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

Resi

  • Promise<SocketInfo[]>

    Chrome 91 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

listenUsingL2cap()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

listenUsingRfcomm()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

send()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setPaused()

Promessa
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 successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

update()

Promessa
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 successive

    Le 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

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

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

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