chrome.bluetoothSocket

Descrizione

Utilizza l'API chrome.bluetoothSocket per inviare e ricevere dati ai dispositivi Bluetooth utilizzando le connessioni RFCOMM e L2CAP.

Manifest

Per 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 essere irrecuperabile.

"not_listening"
Il socket non è in ascolto.

AcceptErrorInfo

Proprietà

  • errore

    Un codice di errore che indica cosa è andato storto.

  • errorMessage

    stringa

    Il messaggio di errore.

  • socketId

    numero

    L'identificatore del socket server.

AcceptInfo

Proprietà

  • clientSocketId

    numero

    L'identificatore del socket 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 il socket client è inizialmente in pausa e deve essere riattivato esplicitamente dall'applicazione per iniziare a ricevere dati.

  • socketId

    numero

    L'identificatore del socket 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à

  • 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 in uso in precedenza, altrimenti la chiamata al metodo non andrà a buon fine. 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 stato utilizzato in precedenza, altrimenti la chiamata al metodo non andrà a buon fine. 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 essere irrecuperabile.

"not_connected"
La presa non è stata collegata.

ReceiveErrorInfo

Proprietà

  • errore

    Un codice di errore che indica cosa è andato storto.

  • 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 facoltativa

    Se il socket sottostante è connesso, contiene l'indirizzo Bluetooth del dispositivo a cui è connesso.

  • 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

    Contrassegno che indica se il socket è connesso a un peer remoto.

  • nome

    stringa facoltativa

    Stringa definita dall'applicazione associata al socket.

  • in pausa

    booleano

    Flag che indica se un socket connesso impedisce al peer di inviare altri dati o se le richieste di connessione su un socket in ascolto vengono inviate tramite l'evento onAccept o accodate nel backlog della coda di ascolto. Leggi i setPaused. Il valore predefinito è "false".

  • persistente

    booleano

    Flag che indica se il socket rimane aperto quando la pagina eventi dell'applicazione viene scaricata (vedi SocketProperties.persistent). Il valore predefinito è "false".

  • socketId

    numero

    L'identificatore del socket.

  • uuid

    stringa facoltativa

    Se il socket sottostante è connesso, contiene informazioni sull'UUID del servizio a cui è connesso. In caso contrario, se il 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 al socket.

  • persistente

    booleano facoltativo

    Flag che indica se il socket viene lasciato aperto 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,
)
: Promise<void>

Disconnette e distrugge il socket. Ogni socket creato deve essere chiuso dopo l'uso. L'ID socket non è più valido non appena viene chiamata la funzione. Tuttavia, la chiusura del socket è garantita solo quando viene richiamato il callback.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

connect()

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

Collega la presa a un dispositivo Bluetooth remoto. Al termine dell'operazione connect, vengono generati eventi onReceive quando i dati vengono ricevuti dal peer. Se si verifica un errore di rete mentre il runtime riceve pacchetti, viene generato un evento onReceiveError, dopodiché non verrà generato alcun altro evento 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 connettersi.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

create()

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

Crea un socket Bluetooth.

Parametri

  • proprietà

    SocketProperties facoltativo

    Le proprietà del socket (facoltative).

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo) => void

    • createInfo

      Il risultato della creazione del socket.

Resi

  • Promise<CreateInfo>

    Chrome 91+

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

disconnect()

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

Scollega la presa. L'identificatore del socket rimane valido.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

getInfo()

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

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 sul socket.

Resi

  • Promise<SocketInfo>

    Chrome 91+

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

getSockets()

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

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

Resi

  • Promise<SocketInfo[]>

    Chrome 91+

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

listenUsingL2cap()

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

Ascolta le connessioni utilizzando il protocollo L2CAP.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • uuid

    stringa

    UUID del servizio da ascoltare.

  • opzioni

    ListenOptions opzionale

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

listenUsingRfcomm()

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

Ascolta le connessioni utilizzando il protocollo RFCOMM.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • uuid

    stringa

    UUID del servizio da ascoltare.

  • opzioni

    ListenOptions opzionale

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

send()

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

Invia dati sul socket Bluetooth specificato.

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.

Resi

  • Promise<number>

    Chrome 91+

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

setPaused()

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

Attiva o disattiva la ricezione di messaggi da parte di un socket connesso dal suo peer o l'accettazione di nuove connessioni da parte di un socket in ascolto. Il valore predefinito è "false". La sospensione di un socket connesso viene in genere utilizzata da un'applicazione per limitare i dati inviati dal relativo peer. Quando un socket connesso viene messo in pausa, non viene generato alcun evento onReceive. Quando un socket è connesso e riattivato, gli eventi onReceive vengono generati di nuovo quando vengono ricevuti i messaggi. Quando un socket di ascolto viene messo in pausa, le nuove connessioni vengono accettate finché il backlog non è pieno, dopodiché le richieste di connessione aggiuntive vengono rifiutate. Gli eventi onAccept vengono generati solo quando il socket viene riattivato.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91+

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

update()

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

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

Resi

  • Promise<void>

    Chrome 91+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le 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

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

onReceive

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

Evento generato quando sono stati ricevuti dati per un determinato socket.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (info: ReceiveInfo) => void

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