Descripción
Usa la API de chrome.bluetoothSocket
para enviar y recibir datos a dispositivos Bluetooth a través de conexiones RFCOMM y L2CAP.
Manifiesto
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á en modo de escucha.
AcceptErrorInfo
Propiedades
-
error
Es 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
-
backlog
número opcional
Es la longitud de la cola de escucha del socket. El valor predeterminado depende del subsistema host del sistema operativo.
-
canal
número opcional
Canal RFCOMM que usa
listenUsingRfcomm
. Si se especifica, este canal no debe estar en uso previamente, o la llamada al método fallará. Si no se especifica, se asignará automáticamente un canal sin usar. -
psm
número opcional
Es el PSM de L2CAP que usa
listenUsingL2cap
. Si se especifica, este PSM no debe estar en uso previamente, o la llamada al método fallará. Si no se especifica, se asignará automáticamente un PSM no utilizado.
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 conector no se conectó.
ReceiveErrorInfo
Propiedades
-
error
Es 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
cadena opcional
Si el socket subyacente está conectado, contiene la dirección Bluetooth del dispositivo al que está conectado.
-
bufferSize
número 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
Es una marca que indica si el socket está conectado a un par remoto.
-
nombre
cadena opcional
Es una cadena definida por la aplicación y asociada al 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 el backlog de la cola de escucha. Consulta lossetPaused
. El valor predeterminado es "false". -
persistentes
booleano
Es una marca que indica si el socket permanece abierto cuando se descarga la página del evento de la aplicación (consulta
SocketProperties.persistent
). El valor predeterminado es "false". -
socketId
número
Es el identificador del socket.
-
uuid
cadena 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á en modo de escucha, contiene información sobre el UUID del servicio en el que está escuchando.
SocketProperties
Propiedades
-
bufferSize
número opcional
Es el tamaño del búfer que se usa para recibir datos. El valor predeterminado es 4096.
-
nombre
cadena opcional
Es una cadena definida por la aplicación y asociada al socket.
-
persistentes
booleano opcional
Es una marca que indica si el socket permanece abierto cuando se descarga la página de eventos de la aplicación (consulta Cómo administrar el ciclo de vida de la app). El valor predeterminado es
false.
. Cuando se carga la aplicación, se pueden recuperar los sockets que se abrieron anteriormente con persistent=true congetSockets
.
Métodos
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
Desconecta y destruye el socket. Cada socket creado debe cerrarse después de usarse. El ID de socket ya no es 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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
connect()
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 tiempo de ejecución recibe paquetes, se genera un evento onReceiveError
, momento en el que no se generará ningún otro evento 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 conectará.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 91 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Crea un socket de Bluetooth.
Parámetros
-
properties
SocketProperties opcional
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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
disconnect()
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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getInfo()
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
Objeto que contiene la información del socket.
-
Muestra
-
Promise<SocketInfo>
Chrome 91 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Recupera la lista de los sockets abiertos actualmente que son propiedad de la aplicación.
Parámetros
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(sockets: SocketInfo[]) => void
-
enchufes
-
Muestra
-
Promise<SocketInfo[]>
Chrome 91 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Espera conexiones con el protocolo L2CAP.
Parámetros
-
socketId
número
Es el identificador del socket.
-
uuid
string
Es el UUID del servicio que se debe escuchar.
-
opciones
ListenOptions opcional
Son 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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Espera conexiones con el protocolo RFCOMM.
Parámetros
-
socketId
número
Es el identificador del socket.
-
uuid
string
Es el UUID del servicio que se debe escuchar.
-
opciones
ListenOptions opcional
Son 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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
send()
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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Habilita o inhabilita un socket conectado para que reciba mensajes de su par, o un socket de escucha para que acepte conexiones nuevas. El valor predeterminado es "false". Por lo general, una aplicación usa la pausa de 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 un socket se conecta 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 backlog 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 posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
update()
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.
-
properties
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 posterioresLas 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,
)
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
-
información
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Evento que se genera cuando se produce un error de red mientras el tiempo de ejecución espera nuevas conexiones 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
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: AcceptErrorInfo) => void
-
información
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
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
-
información
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Evento que se genera cuando se produce un error de red mientras el tiempo 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
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-