chrome.bluetoothSocket

Descrizione

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

Disponibilità

Solo ChromeOS

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"
Il socket non è in ascolto.

AcceptErrorInfo

Proprietà

  • errore

    Un codice di errore che indica cosa non ha funzionato.

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

    Lunghezza della coda di ascolto del socket. Il valore predefinito dipende dal sottosistema host del sistema operativo.

  • canale

    number optional

    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 viene specificato, verrà allocato automaticamente un canale non utilizzato.

  • psm

    number optional

    Il PSM L2CAP utilizzato da listenUsingL2cap. Se specificato, questo PSM non deve essere già in uso, altrimenti la chiamata al metodo non andrà a buon fine. Se non specificato, verrà allocato automaticamente un PSM non utilizzato.

ReceiveError

Enum

"disconnected"
La connessione è stata disconnessa.

"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.

"not_connected"
Il socket non è stato connesso.

ReceiveErrorInfo

Proprietà

  • errore

    Un codice di errore che indica cosa non ha funzionato.

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

    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 di ascolto vengono inviate tramite l'evento onAccept o messe in coda 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 degli 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; se invece il socket sottostante è in ascolto, contiene informazioni sull'UUID del servizio su cui è in ascolto.

SocketProperties

Proprietà

  • bufferSize

    number optional

    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

    boolean facoltativo

    Flag che indica se il socket viene lasciato aperto quando la pagina degli eventi dell'applicazione viene scaricata (consulta Gestire il ciclo di vita delle app). Il valore predefinito è false.. Quando l'applicazione viene caricata, tutti i socket precedentemente aperti con persistent=true possono essere recuperati con getSockets.

Metodi

close()

Promise
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 elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

connect()

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

Connette il socket 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 mentre il runtime riceve i 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 elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

create()

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

Crea un socket Bluetooth.

Parametri

  • proprietà

    SocketProperties facoltativo

    Le proprietà del socket (facoltativo).

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo) => void

    • createInfo

      Il risultato della creazione del socket.

Resi

  • Promise<CreateInfo>

    Chrome 91 e versioni successive

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

disconnect()

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

Disconnette il socket. L'identificatore del socket rimane valido.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

getInfo()

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

Recupera lo stato del socket specificato.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Oggetto contenente le informazioni sul socket.

Resi

  • Promise<SocketInfo>

    Chrome 91 e versioni successive

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

getSockets()

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

Recupera l'elenco dei socket attualmente aperti di proprietà dell'applicazione.

Parametri

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (sockets: SocketInfo[]) => void

    • socket

      Array di oggetti contenenti informazioni sui socket.

Resi

  • Promise<SocketInfo[]>

    Chrome 91 e versioni successive

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

listenUsingL2cap()

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

Ascoltare le connessioni utilizzando il protocollo L2CAP.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • uuid

    stringa

    UUID del servizio su cui ascoltare.

  • opzioni

    ListenOptions facoltativo

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

listenUsingRfcomm()

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

Ascoltare le connessioni utilizzando il protocollo RFCOMM.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • uuid

    stringa

    UUID del servizio su cui ascoltare.

  • opzioni

    ListenOptions facoltativo

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

send()

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

Invia i dati sul socket Bluetooth specificato.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • dati

    ArrayBuffer

    I dati da inviare.

  • callback

    funzione elemento facoltativo

    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 promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setPaused()

Promise
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 di ascolto. 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 peer. Quando un socket connesso viene messo in pausa, non viene generato alcun evento onReceive. Quando un socket è connesso e non è in pausa, gli eventi onReceive vengono generati di nuovo quando vengono ricevuti i messaggi. Quando un socket di ascolto è in pausa, le nuove connessioni vengono accettate fino a quando il backlog non è pieno, dopodiché le richieste di connessione aggiuntive vengono rifiutate. Gli eventi onAccept vengono generati solo quando il socket non è in pausa.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

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

update()

Promise
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 elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 91 e versioni successive

    Le promise 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 viene 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 attivato questo evento, il socket viene impostato su paused e non vengono più attivati eventi onAccept per questo socket.

Parametri

onReceive

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

Evento attivato quando vengono 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 attivato questo evento, il socket viene impostato su paused e non vengono più attivati eventi onReceive per questo socket.

Parametri