chrome.bluetoothSocket

Descripción

Usa la API de chrome.bluetoothSocket para enviar y recibir datos a dispositivos Bluetooth con conexiones RFCOMM y L2CAP.

Disponibilidad

Solo en ChromeOS

Manifiesto

Las siguientes claves se deben declarar en el manifiesto para usar esta API.

"bluetooth"

Tipos

AcceptError

Enum

"system_error"
Se produjo un error del sistema y es posible que la conexión no se pueda recuperar.

"not_listening"
El socket no está escuchando.

AcceptErrorInfo

Propiedades

  • error

    Un código de error que indica qué salió mal.

  • errorMessage

    string

    Mensaje de error.

  • socketId

    número

    Es el identificador del socket del servidor.

AcceptInfo

Propiedades

  • clientSocketId

    número

    Es el identificador del socket del cliente, es decir, el identificador del socket de la conexión establecida recientemente. Este identificador de socket solo se debe usar con funciones del espacio de nombres chrome.bluetoothSocket. Ten en cuenta que el socket del cliente se pausa inicialmente y la aplicación debe reanudarlo de forma explícita para comenzar a recibir datos.

  • socketId

    número

    Es el identificador del socket del servidor.

CreateInfo

Propiedades

  • socketId

    número

    Es el ID del socket recién creado. Ten en cuenta que los IDs de socket creados a partir de esta API no son compatibles con los IDs de socket creados a partir de otras APIs, como la API de [sockets.tcp](../sockets_tcp/).

ListenOptions

Propiedades

  • lista de tareas pendientes

    number opcional

    Es la longitud de la cola de escucha del socket. El valor predeterminado depende del subsistema del host del sistema operativo.

  • canal

    number opcional

    El canal de RFCOMM que usa listenUsingRfcomm. Si se especifica, este canal no debe estar en uso previamente o la llamada de método fallará. Si no se especifica, se asignará automáticamente un canal sin usar.

  • psm

    number opcional

    Es el PSM de L2CAP que usa listenUsingL2cap. Si se especifica, este PSM no debe estar en uso previamente o la llamada de método fallará. Si no se especifica, se asignará automáticamente un PSM sin usar.

ReceiveError

Enum

"disconnected"
Se desconectó la conexión.

"system_error"
Se produjo un error del sistema y es posible que la conexión no se pueda recuperar.

"not_connected"
El socket no se conectó.

ReceiveErrorInfo

Propiedades

  • error

    Un código de error que indica qué salió mal.

  • errorMessage

    string

    Mensaje de error.

  • socketId

    número

    Es el identificador del socket.

ReceiveInfo

Propiedades

  • datos

    ArrayBuffer

    Son los datos recibidos, con un tamaño máximo de bufferSize.

  • socketId

    número

    Es el identificador del socket.

SocketInfo

Propiedades

  • dirección

    string opcional

    Si el socket subyacente está conectado, contiene la dirección de Bluetooth del dispositivo al que está conectado.

  • bufferSize

    number opcional

    Es el tamaño del búfer que se usa para recibir datos. Si no se especificó un tamaño de búfer de forma explícita, no se proporciona el valor.

  • Conectado

    booleano

    Marca que indica si el socket está conectado a un par remoto.

  • nombre

    string opcional

    Es la cadena definida por la aplicación asociada con el socket.

  • detenido

    booleano

    Es una marca que indica si un socket conectado impide que su par envíe más datos o si las solicitudes de conexión en un socket de escucha se envían a través del evento onAccept o se ponen en cola en la lista de tareas pendientes de la cola de escucha. Consulta los setPaused. El valor predeterminado es "false".

  • persistente

    booleano

    Es una marca que indica si el socket permanece abierto cuando se descarga la página de eventos de la aplicación (consulta SocketProperties.persistent). El valor predeterminado es "false".

  • socketId

    número

    Es el identificador del socket.

  • uuid

    string opcional

    Si el socket subyacente está conectado, contiene información sobre el UUID del servicio al que está conectado; de lo contrario, si el socket subyacente está escuchando, contiene información sobre el UUID del servicio en el que está escuchando.

SocketProperties

Propiedades

  • bufferSize

    number opcional

    Es el tamaño del búfer que se usa para recibir datos. El valor predeterminado es 4096.

  • nombre

    string opcional

    Es una cadena definida por la aplicación asociada con el socket.

  • persistente

    booleano opcional

    Marca que indica si el socket se deja abierto cuando se descarga la página de eventos de la aplicación (consulta Administra el ciclo de vida de la app). El valor predeterminado es false.. Cuando se carga la aplicación, se pueden recuperar con getSockets todos los sockets que se abrieron antes con persistent=true.

Métodos

close()

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

Desconecta y destruye el socket. Cada socket creado debe cerrarse después de su uso. El ID del socket deja de ser válido en cuanto se llama a la función. Sin embargo, se garantiza que el socket se cerrará solo cuando se invoque la devolución de llamada.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

connect()

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

Conecta el socket a un dispositivo Bluetooth remoto. Cuando la operación connect se completa correctamente, se generan eventos onReceive cuando se reciben datos del par. Si se produce un error de red mientras el entorno de ejecución recibe paquetes, se genera un evento onReceiveError, momento en el que no se generará más eventos onReceive para este socket hasta que se llame al método setPaused(false).

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • dirección

    string

    Es la dirección del dispositivo Bluetooth.

  • uuid

    string

    Es el UUID del servicio al que se debe conectar.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

create()

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

Crea un socket de Bluetooth.

Parámetros

  • propiedades

    Las propiedades del socket (opcional).

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (createInfo: CreateInfo) => void

    • createInfo

      Es el resultado de la creación del socket.

Muestra

  • Promise<CreateInfo>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

disconnect()

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

Desconecta el socket. El identificador de socket sigue siendo válido.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getInfo()

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

Recupera el estado del socket determinado.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Es el objeto que contiene la información del socket.

Muestra

  • Promise<SocketInfo>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getSockets()

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

Recupera la lista de sockets abiertos actualmente que pertenecen a la aplicación.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (sockets: SocketInfo[]) => void

    • sockets

      Es un array de objetos que contiene información del socket.

Muestra

  • Promise<SocketInfo[]>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

listenUsingL2cap()

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

Escucha las conexiones con el protocolo L2CAP.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • uuid

    string

    Es el UUID del servicio que se escuchará.

  • opciones

    ListenOptions opcional

    Opciones adicionales opcionales para el servicio.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

listenUsingRfcomm()

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

Escucha las conexiones con el protocolo RFCOMM.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • uuid

    string

    Es el UUID del servicio que se escuchará.

  • opciones

    ListenOptions opcional

    Opciones adicionales opcionales para el servicio.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

send()

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

Envía datos en el socket de Bluetooth determinado.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • datos

    ArrayBuffer

    Son los datos que se enviarán.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (bytesSent: number) => void

    • bytesSent

      número

      Es la cantidad de bytes enviados.

Muestra

  • Promise<number>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

setPaused()

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

Habilita o inhabilita un socket conectado para que no reciba mensajes de su par, o un socket de escucha para que no acepte conexiones nuevas. El valor predeterminado es "false". Por lo general, una aplicación pausa un socket conectado para limitar los datos que envía su par. Cuando se pausa un socket conectado, no se genera ningún evento onReceive. Cuando se conecta un socket y se reanuda, se vuelven a generar eventos onReceive cuando se reciben mensajes. Cuando se pausa un socket de escucha, se aceptan conexiones nuevas hasta que se llena su lista de tareas pendientes y, luego, se rechazan las solicitudes de conexión adicionales. Los eventos onAccept solo se generan cuando se reanuda el socket.

Parámetros

  • socketId

    número

  • detenido

    booleano

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

update()

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

Actualiza las propiedades del socket.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • propiedades

    Son las propiedades que se actualizarán.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 91 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

Eventos

onAccept

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

Es el evento que se genera cuando se establece una conexión para un socket determinado.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (info: AcceptInfo) => void

onAcceptError

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

Es el evento que se genera cuando se produce un error de red mientras el entorno de ejecución espera conexiones nuevas en el socket determinado. Una vez que se genera este evento, el socket se establece en paused y no se generan más eventos onAccept para este socket.

Parámetros

onReceive

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

Es el evento que se genera cuando se reciben datos para un socket determinado.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (info: ReceiveInfo) => void

onReceiveError

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

Es el evento que se genera cuando se produce un error de red mientras el entorno de ejecución espera datos en el socket. Una vez que se genera este evento, el socket se establece en paused y no se generan más eventos onReceive para este socket.

Parámetros