chrome.bluetoothSocket

Descrizione

Utilizza l'API chrome.bluetoothSocket per inviare e ricevere dati ai dispositivi Bluetooth tramite 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 non essere recuperabile.

"not_listening"
La presa non è in ascolto.

AcceptErrorInfo

Proprietà

  • errore

    Un codice di errore che indica che cosa non ha funzionato.

  • 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 socket deve essere utilizzato solo con le funzioni dello spazio dei nomi chrome.bluetoothSocket. Tieni presente che il socket del client è inizialmente in pausa e deve essere esplicitamente riattivato dall'applicazione per iniziare a ricevere dati.

  • 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, un canale non utilizzato verrà assegnato automaticamente.

  • psm

    numero facoltativo

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

ReceiveError

Enum

"disconnessione"
La connessione si è 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 che 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 facoltativo

    Se la presa sottostante è connessa, contiene l'indirizzo Bluetooth del dispositivo a cui è connesso.

  • bufferSize

    numero 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

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

  • nome

    stringa facoltativo

    Stringa definita dall'applicazione associata al socket.

  • in pausa

    booleano

    Flag che indica se un socket connesso impedisce al peer di inviare più 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 viene eseguito l'unload della 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. In caso contrario, se il socket sottostante è in ascolto, conterrà 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.

  • persistente

    booleano facoltativo

    Flag che indica se il socket viene lasciato aperto quando viene eseguito l'unload della pagina degli eventi dell'applicazione (vedi Gestione del ciclo di vita delle app). Il valore predefinito è false.. Quando l'applicazione viene caricata, tutti i socket aperti in precedenza con permanente=true possono essere recuperati con getSockets.

Metodi

close()

Promesso .
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

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

  • Promesso<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()

Promesso .
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

Connette la presa a un dispositivo Bluetooth remoto. Quando l'operazione connect viene completata correttamente, vengono generati onReceive eventi quando i dati vengono ricevuti dal peer. Se si verifica un errore di rete mentre il runtime riceve pacchetti, viene generato un evento onReceiveError e a quel punto non verrà generato più evento onReceive per questo socket fino a quando non viene richiamato 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

  • Promesso<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()

Promesso .
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Crea una presa 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&lt;CreateInfo&gt;

    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()

Promesso .
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

Resi

  • Promesso<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()

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

Resi

  • Promise&lt;SocketInfo&gt;

    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()

Promesso .
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

Resi

  • Promise&lt;SocketInfo[]&gt;

    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()

Promesso .
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Controlla le connessioni che utilizzano il protocollo L2CAP.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • Uuid

    stringa

    UUID del servizio da ascoltare.

  • opzioni

    ListenOptions facoltativo

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<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()

Promesso .
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Monitora le connessioni che utilizzano il protocollo RFCOMM.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • Uuid

    stringa

    UUID del servizio da ascoltare.

  • opzioni

    ListenOptions facoltativo

    Opzioni aggiuntive facoltative per il servizio.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<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()

Promesso .
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Invia i 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.

Resi

  • Promise&lt;number&gt;

    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()

Promesso .
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Attiva o disattiva la ricezione di messaggi dal peer da parte di un socket connesso o che un socket di ascolto 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 peer. Quando un socket connesso viene messo in pausa, non viene generato onReceiveevento. Quando un socket viene connesso e viene riattivato, gli eventi onReceive vengono generati di nuovo alla ricezione dei messaggi. Quando un socket di ascolto viene messo in pausa, vengono accettate nuove connessioni fino a esaurimento del backlog, dopodiché vengono rifiutate le richieste di connessione aggiuntive. Gli eventi onAccept vengono generati solo quando il socket non è in pausa.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<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()

Promesso .
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

Resi

  • Promesso<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 generato 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 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 alla ricezione dei 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 nel socket. Una volta generato questo evento, il socket viene impostato su paused e non vengono generati altri eventi onReceive per questo socket.

Parametri