Descripción
Usa la API de chrome.bluetoothSocket para enviar y recibir datos a dispositivos Bluetooth con conexiones RFCOMM y L2CAP.
Disponibilidad
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á 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
onAccepto se ponen en cola en la lista de tareas pendientes de la cola de escucha. Consulta lossetPaused. 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 congetSocketstodos los sockets que se abrieron antes con persistent=true.
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 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
callbackse 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 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
callbackse 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
-
propiedades
SocketProperties opcional
Las propiedades del socket (opcional).
-
callback
función opcional
El parámetro
callbackse 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
callbackse 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
callbackse 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 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 sockets abiertos actualmente que pertenecen a la aplicación.
Parámetros
-
callback
función opcional
El parámetro
callbackse 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 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>
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
callbackse 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>
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
callbackse 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
callbackse 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 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
callbackse 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.
-
propiedades
Son las propiedades que se actualizarán.
-
callback
función opcional
El parámetro
callbackse 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,
)
Es el evento que se genera cuando se establece una conexión para un socket determinado.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(info: AcceptInfo) => void
-
información
-
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
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(info: AcceptErrorInfo) => void
-
información
-
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
callbackse ve de la siguiente manera:(info: ReceiveInfo) => void
-
información
-
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
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-