Описание
Используйте API chrome.bluetoothSocket
для отправки и получения данных на устройства Bluetooth с использованием соединений RFCOMM и L2CAP.
Манифест
Типы
AcceptError
Перечисление
"системная_ошибка" "not_listening"
Произошла системная ошибка, и соединение может оказаться невосстановимым.
Розетка не слушается.
AcceptErrorInfo
Характеристики
- ошибка
Код ошибки, указывающий, что пошло не так.
- errorMessage
нить
Сообщение об ошибке.
- socketId
число
Идентификатор сокета сервера.
AcceptInfo
Характеристики
- clientSocketId
число
Идентификатор клиентского сокета, т.е. идентификатор сокета вновь установленного соединения. Этот идентификатор сокета следует использовать только с функциями из пространства имён
chrome.bluetoothSocket
. Обратите внимание, что клиентский сокет изначально приостановлен и должен быть явно снят с паузы приложением, чтобы начать получать данные. - socketId
число
Идентификатор сокета сервера.
CreateInfo
Характеристики
- socketId
число
Идентификатор вновь созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, таких как API
[
sockets.tcp](../sockets_tcp/)
.
ListenOptions
Характеристики
- отставание
номер необязательно
Длина очереди прослушивания сокета. Значение по умолчанию зависит от хост-подсистемы операционной системы.
- канал
номер необязательно
Канал RFCOMM, используемый методом
listenUsingRfcomm
. Если указан, этот канал не должен быть ранее занят, иначе вызов метода завершится ошибкой. Если не указан, автоматически будет выделен неиспользуемый канал. - псм
номер необязательно
PSM L2CAP, используемый функцией
listenUsingL2cap
. Если указано, этот PSM ранее не использовался, а метод не должен вызываться с ошибкой. Если не указано, будет автоматически выделен неиспользуемый PSM.
ReceiveError
Перечисление
"отключен" "системная_ошибка" "не_подключено"
Соединение было прервано.
Произошла системная ошибка, и соединение может оказаться невосстановимым.
Розетка не подключена.
ReceiveErrorInfo
Характеристики
- ошибка
Код ошибки, указывающий, что пошло не так.
- errorMessage
нить
Сообщение об ошибке.
- socketId
число
Идентификатор сокета.
ReceiveInfo
Характеристики
- данные
ArrayBuffer
Полученные данные имеют максимальный размер
bufferSize
. - socketId
число
Идентификатор сокета.
SocketInfo
Характеристики
- адрес
строка необязательная
Если базовый сокет подключен, содержит адрес Bluetooth устройства, к которому он подключен.
- Размер буфера
номер необязательно
Размер буфера, используемого для получения данных. Если размер буфера не указан явно, значение не предоставляется.
- подключен
булев
Флаг, указывающий, подключен ли сокет к удаленному узлу.
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- приостановлено
булев
Флаг, указывающий, блокирует ли подключенный сокет отправку данных другим сокетом, или запросы на подключение к прослушиваемому сокету отправляются через событие
onAccept
или помещаются в очередь ожидания. См.setPaused
. Значение по умолчанию — «false». - настойчивый
булев
Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см.
SocketProperties.persistent
). Значение по умолчанию — «false». - socketId
число
Идентификатор сокета.
- uuid
строка необязательная
Если базовый сокет подключен, содержит информацию о UUID службы, к которой он подключен, в противном случае, если базовый сокет прослушивает, содержит информацию о UUID службы, которую он прослушивает.
SocketProperties
Характеристики
- Размер буфера
номер необязательно
Размер буфера, используемого для получения данных. Значение по умолчанию — 4096.
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- настойчивый
логическое необязательное
Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см. раздел Управление жизненным циклом приложения ). Значение по умолчанию —
false.
После загрузки приложения все сокеты, ранее открытые с параметром persistent=true, можно получить с помощьюgetSockets
.
Методы
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
Отключает и уничтожает сокет. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета становится недействительным сразу после вызова функции. Однако сокет гарантированно закрывается только при вызове функции обратного вызова.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
Подключает сокет к удалённому Bluetooth-устройству. После успешного connect
при получении данных от однорангового устройства возникают события onReceive
. Если во время получения пакетов средой выполнения происходит сетевая ошибка, возникает событие onReceiveError
, после чего событие onReceive
для этого сокета больше не будет возникать до тех пор, пока не будет вызван метод setPaused(false)
.
Параметры
- socketId
число
Идентификатор сокета.
- адрес
нить
Адрес Bluetooth-устройства.
- uuid
нить
UUID службы, к которой нужно подключиться.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Создает Bluetooth-сокет.
Параметры
- характеристики
SocketProperties необязательны
Свойства сокета (необязательно).
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(createInfo: CreateInfo) => void
- createInfo
Результат создания сокета.
Возврат
Обещание< CreateInfo >
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отключает розетку. Идентификатор розетки остаётся действительным.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Возвращает состояние указанного сокета.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(socketInfo: SocketInfo) => void
- socketInfo
Объект, содержащий информацию о сокете.
Возврат
Обещание <SocketInfo>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Возвращает список открытых в данный момент сокетов, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(sockets: SocketInfo[]) => void
- розетки
SocketInfo []
Возврат
Обещание< SocketInfo []>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Прослушивание соединений с использованием протокола L2CAP.
Параметры
- socketId
число
Идентификатор сокета.
- uuid
нить
UUID службы для прослушивания.
- параметры
ListenOptions необязательны
Возможные дополнительные опции для услуги.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Прослушивание соединений с использованием протокола RFCOMM.
Параметры
- socketId
число
Идентификатор сокета.
- uuid
нить
UUID службы для прослушивания.
- параметры
ListenOptions необязательны
Возможные дополнительные опции для услуги.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
Отправляет данные на указанный разъем Bluetooth.
Параметры
- socketId
число
Идентификатор сокета.
- данные
ArrayBuffer
Данные для отправки.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(bytesSent: number) => void
- байтыОтправлено
число
Количество отправленных байтов.
Возврат
Обещание<номер>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Разрешает или запрещает подключенному сокету получать сообщения от однорангового узла или прослушивающему сокету принимать новые соединения. Значение по умолчанию — «false». Приостановка подключенного сокета обычно используется приложением для ограничения объема данных, отправляемых одноранговым узлом. При приостановке подключенного сокета событие onReceive
не возникает. Когда сокет подключен и снят с паузы, события onReceive
возникают снова при получении сообщений. При приостановке прослушивающего сокета новые соединения принимаются до тех пор, пока не будет заполнен список невыполненных соединений, после чего все дополнительные запросы на соединение отклоняются. События onAccept
возникают только при снятии сокета с паузы.
Параметры
- socketId
число
- приостановлено
булев
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
- socketId
число
Идентификатор сокета.
- характеристики
Свойства для обновления.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
События
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Событие возникает при установлении соединения для данного сокета.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: AcceptInfo) => void
- информация
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Событие, возникающее при возникновении сетевой ошибки во время ожидания средой выполнения новых подключений к заданному сокету. После возникновения этого события сокет paused
, и события onAccept
для него больше не генерируются.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: AcceptErrorInfo) => void
- информация
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Событие возникает при получении данных для заданного сокета.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveInfo) => void
- информация
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Событие возникает при возникновении сетевой ошибки во время ожидания данных в сокете средой выполнения. После возникновения этого события сокет paused
, и события onReceive
для этого сокета больше не генерируются.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveErrorInfo) => void
- информация