chrome.bluetoothSocket

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

Metodi

close()

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

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

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

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

disconnect()

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

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

getInfo()

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

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

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (sockets: SocketInfo[])=>void

Ritorni

  • Promise<SocketInfo[]>

    Chrome 91 e versioni successive

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

listenUsingL2cap()

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

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

listenUsingRfcomm()

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

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

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

setPaused()

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

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

    Le 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

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